저는 생성자와 분리 자로 구성된 StringList라는 클래스가 있습니다. 내가 쏘고있는 것은 내 프로그램이 실행되지 않은 후에도 배열의 문자열을 유지하는 능력이다. 이 작업을 수행하는 방법은 내 생성자 함수를 파일에서 문자열을 읽고이를 문자열 배열 (str [])에 저장하는 것입니다. 내 de-structor는 내 현재 문자열을 내 파일에 저장합니다. 메모리를 만들 때 파일에서 읽고 저장하는 데 문제가 있습니다. 각 단어가 배열의 한 요소가되기를 원합니다. 은, 예를 들면로부터 판독되는 파일에 문자열 등이 저장되어파일에서 여러 줄의 문자열을 읽고이를 C++의 문자열 배열에 저장합니다.
HELLO
MOM
DAD
FOUR
YELLOW
I가 각 단어가 슬롯 원한다. 다른 말로. str [0] = HELLO, str [1] = MOM, str [2] = DAD 등. 여기
내 생성자 함수입니다 : 여기StringList::StringList()
{
numberOfStrings=0;
str = new string[1000000];
ifstream myfile ("Read.txt");
if (myfile.is_open())
{
for (int i = 0; i < 1000000; i++)
{
getline(myfile,str[i]);
numberOfString++;
}
myfile.close();
}
}
문제가에 대한 것입니다 (INT I = 0; 나는 < 100000; 내가 ++) 라인 이 될 때까지 요소에 각각 빈 공간을 채우기 위해 계속됩니다 했는가 그것도 100000에 도달했습니다. 같은 경우 나는 <을 20 개 넣었을 때 모든 내용을 읽고 20을 채우도록 공백을 추가합니다. 어쨌든 txt의 실제 문자열 양을 채울 수 있습니까? 파일?
'new'와'delete'를 없애고 벡터를 저장하기 위해 시작할 수 있습니다. 필요에 따라 자동으로 크기를 조정할 수 있습니다. – chris