From: am898 AT chebucto DOT ns DOT ca (Blake McCurdy) Newsgroups: comp.os.msdos.djgpp Subject: Input Parsing problem Date: 13 Jun 1998 23:26:07 GMT Organization: Chebucto Community Net Lines: 100 Message-ID: <6lv1qf$nfu$2@News.Dal.Ca> NNTP-Posting-Host: chebucto.ns.ca To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk I have a small problem. I have an array of 80 characters. Is there anyway to to input some stuff, and then place a terminating '\0' at the end of the input, not at the end of the 80 char array? If this sounds abstract, here's the real problem. I want to input a line of text into one array, and then parse it into 5 different arrays, one word each, and count the number of words as I go. Here's the source. It works most of the time, but sometimes rawPhrase has garbage in it. It's all part of a Phrase class. Phrase::Phrase() { first = new char[ 20 ]; second = new char[ 20 ]; third = new char[ 20 ]; fourth = new char[ 20 ]; fifth = new char[ 20 ]; strcpy( first, "\0" ); strcpy( second, "\0" ); strcpy( third, "\0" ); strcpy( fourth, "\0" ); strcpy( fifth, "\0" ); rawPhrase = "help\0"; cout << rawPhrase; nofWords = 0; } void Phrase::getLine() { ostrstream sfirst ( first, 20 ); ostrstream ssecond( second, 20 ); ostrstream sthird ( third, 20 ); ostrstream sfourth( fourth, 20 ); ostrstream sfifth ( fifth, 20 ); char* temp = new char[ 20 ]; do { cout << "\nWhaddya wanna do? "; cin.gets( &rawPhrase ); istrstream sphrase( rawPhrase, 80 ); strcpy( temp, "" ); sphrase >> temp; if( strcmp( temp, "" ) ) { nofWords++; } sfirst << temp << ends; sphrase >> temp; if( strcmp( temp, "" ) ) { nofWords++; } ssecond << temp << ends; sphrase >> temp; if( strcmp( temp, "" ) ) { nofWords++; } sthird << temp << ends; sphrase >> temp; if( strcmp( temp, "" ) ) { nofWords++; } sfourth << temp << ends; sphrase >> temp; if( strcmp( temp, "" ) ) { nofWords++; }//if sfifth << temp << ends; if( nofWords == 0 ) { cout << "\n\n\nEh?\n\n"; }//if }while( nofWords == 0 ); }//void Phrase::getline() -- _______________________________________________________________________ | | | | | "So then I said 'No, Juan, it's the rice!!' " | | | |_____________________________________________________________________|