내가하고 싶은 것은 파일에서 행을 읽어서 문자열 배열에 집어 넣을 수 있다는 것입니다. 이것은 내가 지금까지 가지고 있지만 작동하지 않는 것입니다. 파일에서 행을 읽어 들여 문자열 배열에 넣기
...
char line [128];
char file [10][128];
plist = fopen("plist1.txt", "r");
while(fgets(line, sizeof line, plist) != NULL){
file[i][0]= line;
i++;
}
나는
file[i][0] = *line;
일을 시도하고 나는 각 행의 첫 번째 문자를 인쇄 할 수 있었다. 이것이 내가하려는 일을하는 가장 좋은 방법입니까?
또한, 텍스트 파일의 줄 수가 달라집니다 그래서 난 내 배열 가변 길이의 수 대신 10
편집하고 싶은 : 저는 두 솔루션은 다음과 같습니다 노력했다. 둘 다 strcpy 또는 fgets를 다루는 세분화 오류를 제공합니다.
1. while (fgets(file[i], sizeof(file[i]), plist))
i++;
2. while (fgets(line, sizeof(line), plist)){
strcpy(file[i], line);
i++;
}
고마워요 !!! 나는 항상 포인터가 실제 값이 아닌 것을 잊는다 : /. 어리석은 오류가 항상 나를 잡아. – user972276
잠깐, 작동하지 않습니다. 나에게 분할 오류가 발생합니다 – user972276
@ user972276 내 마음이 피입니다. 디버거를 사용하십시오. – cnicutar