私はテキストファイルを作成してテキストに一度書き込むことができます。私は新しいファイルを作成せずに、必要なときにそれにもっと多くの行を追加できるようにしたい。私の次の問題は、私が探している出力を得ることができないということです。例えば。 LNAME | |テキストファイルはC++のtxtファイルからデータを取り出す方法
START1
fnameのを含ん| SSN
END1
私の目的は、START1とEND1内のデータを取得し、区切り文字なしFNAMEのLNAMEとSSNを返すだけにあります。ここに私のコードです
int main()
{
fstream filestr;
string line;
filestr.open ("file.txt", fstream::in | fstream::out | fstream::app);
if(!filestr.is_open())
{
cout << "Input file connection failed.\n";
exit(1);
}
else{
filestr<<"Start2\n";
filestr<< "middle|middle"<<endl;
filestr<<"end2"<<endl;
if(filestr.good()){
while(getline(filestr, line) && line !="end1"){
if(line !="Start1"){
//below this point the output goes screwy
while(getline(filestr, line,'|')){
cout<<"\n"<<line;
}
}
}
}
filestr.close();
}
file.txtをであなたは何をすべき
は、現在の行を取得し、独自のストリームとして扱いですポストの下に、filestr.seekg(0);ループスルーする前に必要です。 – Jagannath