私は私のループで大きな問題を抱えているようです。 プログラムの内容:プログラムはテキストファイルを読み込み、テキストファイルの各行に文字列形式を与えます。文字列に必要なデータはタブで区切られているので、最初のタブを押すまで、解析してタブを見つけてすべての文字を追加します。その後、タブまで文字を追加して配列に追加して、後でデータを評価することができます。C++ Whileループは、テキストファイルの次の行に反復しません
My Inner whileループは、最初の行を正しく解析していますが、テキストファイルの次の行に反復しません。
//Creates a temporary array
string current_line; //declare var line
string temp_string = "";
//When getline hits 'n' we are adding that to the string current_line
cout<<"Entering the Loop \n"<<endl;
// Gets the first line in the Text file and continutes to get each new line
// until we hit the end of file
while(getline(infile,current_line,'\n').good()){
//cout << "CURRENT SIZE " << current_line.size() << endl;
/* iterates through each character as long as the size of the current
line is greater than the counter i
*/
while(i < current_line.size()){
// If the Current character in the line is NOT a tab we add the
// character to string temp_storage
if(current_line[i] != '\t'){
temp_storage +=current_line[i];
}
/*If the Current Character in the line is a tab then we store
string temp_storage into another variable. Temp is cleared so we
can get the next word in the string
*/
else if (current_line[i] =='\t'){
Storage = temp_storage;
cout << "Current val: "<< Storage <<endl;
// Clears the temporary storage
temp_storage = "";
cout << "Clearing the temp_storage..."<< temp_storage<<endl;
}
//out << i << endl;
i++; // iterates the loop
}
cout<<"loop finished"<<endl;
}
//ここで読むためのプログラムに
感謝を実行しているの出力があります!
私は次の行のためにiをリセットしません。 –
@ArtemyVysotsky私は完全に感謝しました。 – Rustykatz
@MichaelBurrありがとう! – Rustykatz