私は今日 c++ を始めたばかりで、このトピックに関する多くのフィードに目を通しました。検索中に、ignoreという関数が見つかりましたが、これは多少役に立ちました。私の最初の問題は、実行時に入力がスキップされることでした。これはおそらく \n がバッファ内に残っていることが原因であることがわかったので、cin.ignore() 関数を使用してそれをフラッシュしました。しかし、私はまだ私が望む出力を得ていません。これが私のコードです:
{
time_t current;
char event[30];
char details[256];
char outFileName[21];
cout<< "Enter name of file to hold the input.[20 Character Max]: ";
cin>>outFileName;
ofstream outFile(outFileName);
cout<< "Event: ";
cin.getline(event, 30, '\n');
cin.ignore();
outFile<< event<< '\n';
cout<< "Details: ";
cin.getline(details, 256, '\n');
cin.ignore();
outFile<< details<< '\n';
current = time(NULL);
outFile<< ctime(¤t);
}
出力の場合、最初の行は黒で、2 行目は最初の行にあるはずのものをリストし、最初の文字も欠落しています。3 行目はシステム時間で問題ありません。