그래서; 행맨 게임을 만들려고 노력 중이고, 인터넷에서 다운로드 한 .txt 파일에서 단어를 가져오고 싶습니다. 약 4900 단어로 각기 다른 줄에 있습니다. 파일을 읽으려고하는데, 프로그램이 매번 오류 (1)로 종료합니다. 즉, 파일이 없습니다. 난 절대 경로를 사용하여 노력하고 또한 작업 디렉토리에 파일을 배치하고 상대 경로를 사용하지만, 같은 오류가 발생할 때마다. 누구든지 모양을 가지고 무엇이 잘못 됐는지 말해 줄 수 있습니까? 저는 C++을 처음 접했으므로 Java로 배우기 시작했고 지금은 새로운 것을 시도하고 싶습니다. 따라서 코드 구조에 실수가 있는지 확실하지 않습니다. 감사합니다.어떻게 텍스트 파일을 읽고 C++의 모든 줄에서 문자열을 얻을 수 있습니까?
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <vector>
#include <fstream>
#include <string>
#include <algorithm>
using namespace std;
vector<string> GetWords(){
ifstream readLine;
string currentWord;
vector<string> wordList;
readLine.open("nounlist.txt");
while (getline(readLine, currentWord)) {
wordList.push_back(currentWord);
}
if (!readLine) {
cerr << "Unable to open text file";
exit(1);
}
return wordList;
}
더 - 문이 경우 항상 readline에가, 마지막에 후 확인됩니다이 오류 항상 출력거야 그래서. 그게 당신이 의미 한 것입니다. 그렇지 않으면, 나는 이것을 시도 할 때 어떤 에러도 내지 않는다. 제대로 읽힌다. –
@Jack of Blades가 맞다. while (! readLine) ... '을 while 루프 위로 옮긴다. –
그래, 모든 데이터를 읽은 후에 파일이 제대로 열렸는지 확인하지 않습니다. 그것을 열려고 시도하자마자 바로 그 일을하는 것이 가장 좋습니다. – Galik