push_back 함수를 사용하여 벡터에 텍스트 파일의 줄을 채 웁니다. 하지만 모든 항목을 마지막 줄로 덮어 씁니다. 다음은 소스 코드입니다.벡터 <char*> push_back은 모든 항목을 덮어 씁니다.
int main() {
std::vector<char*> lines;
FILE* file;
file = fopen("textfile.txt", "r");
const size_t max_line_length = 1000;
char line[max_line_length + 1];
while (!feof(file)) {
fgets(line, max_line_length, file);
lines.push_back(line);
}
fclose(file);
}
누군가가 도와 줄 수 있습니다.
fstream 및 std :: string을 사용할 수없는 이유가 있습니까? – milleniumbug
@milleniumbug 그는 아마도 그들과 같은 실수를 저지를 것입니다. 'feof()'는 예측 적이 지 않으므로 각 입력을 테스트하지 않으면 안됩니다. –