一番下のwhileループの最中に、なぜなのかわかりません。
std::cout << line;
何も印刷しません。
フォルダー内の test.txt を開くと空になるため、test.txt ファイルは実際には書き込まれていないと思います。何かご意見は?
void Ticket::WriteTicket()
{
std::string ticketInput;
std::ofstream ticketFile("test.txt");
ticketFile.open("test.txt");
std::cout << "Please Enter Ticket Information: " << std::endl;
getline(std::cin, ticketInput);
std::cout << ticketInput << std::endl; //does print out the line
ticketFile << ticketInput;
ticketFile.close();
//here for testing only
std::string line;
std::ifstream ticketRead("test.txt");
while(getline(ticketRead, line));
{
std::cout << "something here?: " << line; // there is nothing here when it outputs
}
}
編集(解決策):
主にBasile Starynkevitchから提供された上記の情報の一部を使用した後(まだ賛成できないため、ここに記載しました)、コードを機能させることができました!
また、本でいくつかの調査を行い、同様のプログラムのスタイルをコピーしました。別名、コードのどの部分をどこに置くか、そして入力が機能しました。私は出力を続けましたが、重要な部分はstd::ifstream::in
出力用のファイルを開くことでした。
void Ticket::WriteTicket()
{
std::string ticketInput;
std::cout << "Please Enter Ticket Information: " << std::endl;
getline(std::cin, ticketInput);
std::ofstream ticketFile("Ticket.txt");
ticketFile << ticketInput << std::endl;
ticketFile.close();
//here for testing
std::ifstream ticketRead;
ticketRead.open("Ticket.txt", std::ifstream::in);
std::string line;
while(getline(ticketRead, line))
{
std::cout << line << std::endl;
}
}
みんな助けてくれてありがとう!