안녕하세요, 파일을 읽고 구조체 배열의 파일에서 데이터를 가져올 필요가 있습니다.파일에서 구조체의 C++ 채우기 배열
구조
struct Activity {
string ID;
string Name;
string quantity; };
내가 파일
int* fillStructure(ifstream &fileActivity){
int i=0;
int numberOfElements = numberOfLines(fileActivity);
Activity* myActivity = new Activity[numberOfElements];
while (i < numberOfElements)
{
getline(fileActivity, myAktivity[i].ID, ',');
getline(fileActivity, myActivity[i].Name, ',');
getline(fileActivity, myActivity[i].quantity, '\n');
i++;
}
fileActivity.close();
return myActivity; }
에서 읽기 위해이 기능을 가지고 있고이 구조의 멤버를 인쇄하는 주요 기능에하려고 할 때 그것은
int main(){
if (!(fileActivity.is_open())){
cout << "Error when reading file" << endl;
return 0;
}
fillStructure(fileActivity);
cout << myActivity[1].ID << endl; return 0; }
나는 일을 나던 초보자, 내가 잘못한 일을 도와 줄 수 있니?
에 오신 것을 환영합니다 나를 위해 작동합니다. 당신이 잘못하고있는 첫 번째 일은 C++ 질문에 C 언어 태그를 사용하는 것입니다. 귀하의 코드는 유효한 C 코드가 아닙니다. 그런 다음 몇 페이지를 먼저 읽어야합니다. [둘러보기] (https://stackoverflow.com/tour) 및 [묻는 방법] (https://stackoverflow.com/help/how-to-ask). 이렇게하면 [MCVE] (https://stackoverflow.com/help/mcve)가 시작하는 것이 좋지 않다는 것을 알 수 있습니다. – Gerhardh
'myActivity'는 지역 변수입니다. 'fillStructure' 함수 밖에서는 존재하지 않습니다. –
fillStructure가 파일에서 데이터를 읽습니까? getline 함수는 무엇을합니까? 흥미로운 부분입니다. – user3532232