저는 프로그래밍에 익숙하지 않아서 여러분에게 확실한 답이있는 질문이 될 수 있습니다. 그리고 나는 정말 엉망입니다. 왜 다음 함수에서 cout이 작동하지 않습니까? iostream 헤더를 포함 시켰으므로 함수와 관련이 있다고 가정합니다.cout이 함수에서 인쇄하지 않습니다
int inputFileData(song musicLibrary[])
{
char discard = ' ';
int counter = 0, length = 0;
ifstream inData;
inData.open("songs.txt");
if (!inData)
{
cout << "Error: No input file found " << endl;
cout << "Program terminating..." << endl;
return 1;
}
while (!inData.eof())
{
inData.getline(musicLibrary[counter].title, ARRAY_CONST, ';');
inData.getline(musicLibrary[counter].artist, ARRAY_CONST, ';');
inData >> musicLibrary[counter].durationMinutes;
inData.get(discard);
inData >> musicLibrary[counter].durationSeconds;
inData.get(discard);
inData.getline(musicLibrary[counter].album, ARRAY_CONST, '\n');
length = strlen(musicLibrary[counter].album);
if (length = 0)
{
cout << length << endl; //This cout object doesn't work in this function
break;
}
else
counter++;
}
return counter;
}
'(길이 = 0) '경우 각 cout을 접두사 수 있습니다 -'사용 =='. – Eli
필수 읽기 : [루프 상태에있는'iostream :: eof'가 왜 틀린 것으로 간주 되는가?] (https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered- wrong) – molbdnilo
배열을 사용하지 말고 std :: vector를 사용하십시오. char 배열을 사용하지 말고 std :: string을 사용하십시오. –