私は大きなファイルI/Oライブラリを構築していますが、現在はgetline()の相互運用性とファイルへの書き込みに苦しんでいます。私の質問はこのようなものですが、残念ながら未回答のまま残っています。C++ After I use getline to read from a file I can no longer write to the txt filegetlineの使用に続いて、ファイルに書き込めません
私がgetline()を使用すると、もはやファイルに書き込めなくなります。 getline()での読み取り要求は引き続き動作しますが、書き込み要求は失敗します。しかし、getline()の使用法をコメントアウトすると、書き込み操作は成功します。
マイコードは以下のとおりです。私はフェイルビットが最初の書き込み試行の後に起動されていることに気づいた。しかし、getline()操作を削除してもアクティブではないため、この原因はわかりません。
私は明らかにする必要があります - 私は既存のファイル(2行を含む)から完全に読むことができます。しかし、私はgetline()ステートメントを削除しない限り、そのファイルに書き込むことができません。
いつものように、どんな助けもあります。
// Includes
#include <fstream>
#include <iostream>
#include <string>
// Namespace
using namespace std;
int main(){
// filestream object
fstream workFile("testdoc.txt"); //fstream uses ios::in | ios::out by default
// note that I have tried including ios::in | ios::out to no avail
// read from file
string grabbedLine;
getline(workFile, grabbedLine);
cout << "Line #1: " << grabbedLine << endl;
// write to file
workFile<< "Here is some output (#1)" << endl;
// read from file
getline(workFile, grabbedLine);
cout << "Line #2: " << grabbedLine << endl;
// write to file
workFile<< "Here is some output (#2)" << endl;
// wait for some input...
getchar();
}
Current console output (as expected from text file):
Line #1: This is line#1
Line #2: This is line#2
問題をテストする時間をとってくれてありがとう。 – BSchlinker