나는 바닥에 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
}
}
EDIT (SOLUTION) :
실레 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;
}
}
모두 도움을 주셔서 감사합니다!
모든 경고 (예 :'g ++ -Wall')로 컴파일하고 디버거 (예 :'gdb')를 사용하는 방법을 배우십시오. –
파일 이름을 생성자에 전달하거나 열기 함수를 사용해야하지만 둘 다 사용하면 안됩니다. –
퇴직 한 닌자, 무슨 뜻인지 이해가 안 되니? – xCasper