|
For starters, I prefer this:
string s;
getline( cin, s );
to creating an array needlessly.
Then, have you stepped through to see what's going on ? Where does it 'fail' ? Do you get back the entire string/nothing/half a number ?
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Well, I get this compile error:
error C2664: 'atoi' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
The exact line is:
<br />
whole = atoi(theString.substr(0, x));<br />
where x and whole are integers.
|
|
|
|
|
I should have looked more closely. atio is a C library function, it knows nothing of classes or the STL. You need to call the c_str() function on the string to get back a const char *.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Thanks Christian. I changed my code to:
<br />
whole = atoi((theString.substr(0, x)).c_str());<br />
and all is well. Thanks alot!
|
|
|
|
|
This will work just fine:
firstNumber = atoi(input); atoi() stops processing when it encounters the first non-numeric character.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
This is actually a generalized question, but I am writing in C++, so I am putting it here:
In regards to Reading from the serial port in C++ using the Win32 API: Is there a way to know when there is no data to be read from the port without using flow control? Basically my situation is this: I am just passively reading from the serial port, I never send any data, just receive it. So I just want to read from the port until there is nothing more to be read, then go do something with the data I read, then go back and read some more. Currently, I was using a timer (specifically SetTimer()) to call the read function every 100ms, however, I was missing a lot of data this way, so I am looking for a way that would allow for all data to be receieved and buffered correctly. My connection is 115200 baud with 0% error rate, so it is simply my read function that is causing the missed data.
If anyone could lend some suggestions it will be greatly appreciated.
thanks
|
|
|
|
|
|
Hi all,
I need to add a chart control to my dialog.
I can find references to MSChart on the web but as far as I can tell I do not have that object on my system.
Is MSChart something that is included with VB installation?
The only charting objects I can find are Microsoft Office Chart 9 and 11. I need to add data to the chart from user input one point at a time.
What can I do?
---
|
|
|
|
|
Coremn wrote:
...as far as I can tell I do not have that object on my system.
Search for mschrt20.ocx .
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
It simply does not exist with my install of MSVC or any of the other work computers with MSVC. I have a lot of other activeX controls that I can include, just not MSChart. Did I miss it on the install?
---
|
|
|
|
|
I have a need to create an area of a CView window to hold OpenGL scenes. I was able to load a scene into a CView without problems, however, when I attempted to designate the scene coordinates, it only affected the aspect ratio of my polygons but still painted the whole view black (confirming that it did not conform to my boundaries.)
Has anybody attempted this? Please help!
When the going gets tough... just write source code to fix the problem. I suggest Perl!
|
|
|
|
|
Did you use glViewport?
Don't try it, just do it!
|
|
|
|
|
yeah, in my OnSize() function, I have a call to glViewPort to set the view's dimensions, however, whenever I alter the dimensions, it only affects the shapes themselves, but still paints the whole view black.
IloveCheeese
|
|
|
|
|
Hi, I have a simple code but I couldn't make it run...
#include "stdafx.h"<br />
<br />
typedef int DataType;<br />
<br />
const int MAX_SIZE = 50;<br />
<br />
void merge(DataType theArray[], int first, int mid, int last);<br />
void mergesort(DataType theArray[], int first, int last)<br />
<br />
int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
int arrayToSend[4] = { 1, 2, 4, 3 };<br />
mergesort( arrayToSend, 0, 3 );<br />
return 0;<br />
}<br />
<br />
void merge(DataType theArray[], int first, int mid, int last)<br />
{<br />
DataType tempArray[MAX_SIZE];
<br />
int first1 = first;
int last1 = mid;
int first2 = mid + 1;
int last2 = last;
<br />
int index = first1;
for (; (first1 <= last1) && (first2 <= last2); ++index)<br />
{
if (theArray[first1] < theArray[first2])<br />
{ tempArray[index] = theArray[first1];<br />
++first1;<br />
}<br />
else<br />
{ tempArray[index] = theArray[first2];<br />
++first2;<br />
}
}
<br />
<br />
for (; first1 <= last1; ++first1, ++index)<br />
tempArray[index] = theArray[first1];<br />
<br />
for (; first2 <= last2; ++first2, ++index)<br />
tempArray[index] = theArray[first2];<br />
<br />
for (index = first; index <= last; ++index)<br />
theArray[index] = tempArray[index];<br />
}
<br />
void mergesort(DataType theArray[], int first, int last)<br />
{<br />
if (first < last)<br />
{
int mid = (first + last)/2;
mergesort(theArray, first, mid);<br />
mergesort(theArray, mid+1, last);<br />
<br />
merge(theArray, first, mid, last);<br />
}
}
I get errors like
d:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(5): warning C4518: 'int ' : storage-class or type specifier(s) unexpected here; ignored
d:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(5): error C2146: syntax error : missing ';' before identifier 'main'
d:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(13): fatal error C1075: end of file found before the left brace '{' at 'd:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(11)' was matched
Any help would be appriciated.
|
|
|
|
|
kromozom wrote:
d:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(5): error C2146: syntax error : missing ';' before identifier 'main'
Find your main() function declaration (or in your case _tmain(...))
Look at the line just above it.
What is missing (clue is in the error message you recieved)?
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" mYkel - 21 Jun '04
Within you lies the power for good - Use it! Honoured as one of The Most Helpful Members of 2004
|
|
|
|
|
Ohh my goodness, I should take a sleep. Thank you friend. I have modified the code as;
#include <iostream><br />
<br />
using namespace std;<br />
typedef int DataType;<br />
<br />
int indexOfLargest(const DataType theArray[], int size);<br />
void selectionSort(DataType theArray[], int n);<br />
void swap(DataType& x, DataType& y);<br />
<br />
int main()<br />
{<br />
return 0;<br />
}<br />
<br />
void selectionSort(DataType theArray[], int n)<br />
{<br />
for (int last = n-1; last >= 1; --last)<br />
{ <br />
int largest = indexOfLargest(theArray, last+1);<br />
<br />
swap(theArray[largest], theArray[n - last]);<br />
<br />
}
}
<br />
int indexOfLargest(const DataType theArray[], int size)<br />
{<br />
int indexSoFar = 0;
for (int currentIndex = 1; currentIndex < size; <br />
++currentIndex)<br />
{
if (theArray[currentIndex] > theArray[indexSoFar])<br />
indexSoFar = currentIndex;<br />
}
<br />
return indexSoFar;
}
<br />
void swap(DataType& x, DataType& y)<br />
{<br />
DataType temp = x;<br />
x = y;<br />
y = temp;<br />
}
But this time I get the error of
d:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(11): fatal error C1075: end of file found before the left brace '{' at 'd:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(10)' was matched
How can I solve this one? Thanks...
|
|
|
|
|
Now your first line (#include statement) is incomplete.
Barry Etter
|
|
|
|
|
no no, it writes
#include < iostream >
there, but editor took it as a tag.
I really couldn't why this error is coming from.
|
|
|
|
|
You need to remove blocks of code until the error goes away, then start adding them back until you identify the problem.
Barry Etter
|
|
|
|
|
kromozom wrote:
d:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(11): fatal error C1075: end of file found before the left brace '{' at 'd:\CD\myProjects\Homeworks\hw2Q4\hw2Q4.cpp(10)' was matched
The compiler is telling you that it could not find a closing brace '}' to match the opening brace on line 10 of your hw2Q4.cpp file.
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" mYkel - 21 Jun '04
Within you lies the power for good - Use it! Honoured as one of The Most Helpful Members of 2004
|
|
|
|
|
But I have friend, the all code is this. Can you take a look at it in your compiler? There is no unmatched curly bracket as far as I see. If someone can point for me I will be glad to see it?!
|
|
|
|
|
just insert this one as the very first line of your code:
#include "stdafx.h"
|
|
|
|
|
Thank you very much it worked. But this tme I got the errors like
hw2 error LNK2019: unresolved external symbol "void __cdecl selectionSort(int * const,int)" (?selectionSort@@YAXQAHH@Z) referenced in function _main
hw2 fatal error LNK1120: 1 unresolved externals
|
|
|
|
|
I've just received and application that has a COM Autmation interface (not sure if I'm describing that right). I need to write an application that will interface with it. Can anyone suggest a tutorial that will cover a way to do this?
Thanks
Tom Wright
tawright915@yahoo.com
|
|
|
|
|