동적으로 문자열 배열을 만든 C++ 코드를 작성했습니다. 문자열 배열과 배열 자체의 항목 수를 모두 출력하는 함수를 작성했습니다. 다음으로해야 할 일은 배열 요소를 텍스트 파일에 저장하는 것입니다.하지만 필자가 작성한 파일을 열면 배열의 마지막 요소 만 나타납니다. 여기에 내가 뭐하는 거지의 샘플입니다출력 파일에 문자열 배열
int num_elem = ReadNumElem(); // my function that gets the number of elements in the array of strings
string *MyStringArray = ReadNames(num_elem); // my function that reads a file and outputs the necessary strings into the array
for(int i = 0; i < num_elem < ++i) {
ofstream ofs("C:\\Test\\MyStrings.txt")
ofs << MyStringArray[i] << endl; // I also tried replacing endl with a "\n"
}
나 C++에 새로운 오전, 그래서이 너무 간단한 경우 사과,하지만 지금은 시간이 검색되었습니다 내가 찾을 수 없습니다 해결책. 처음 두 함수는 관련이 없으므로 배열의 마지막 요소뿐만 아니라 모든 데이터가 나타나도록 텍스트 파일에 데이터를 출력하는 방법을 알아야합니다. 감사!
간단한 대답은 표준 : : ios_base :: app'은'ofstream' 생성자로'mode' 인수 플래그로, 예를 들어,'지정해야한다는 것입니다 'std :: ofstream ofs ("C : \\ Test \\ MyStrings.txt", std :: ios_base :: out | std :: ios_base :: app), ' – oldrinb
장기적으로 당신을 도울 해답 루프 외부에서 한 번 파일을 여는 것입니다. – oldrinb