내가 파일에서 이름 배열을 채우기 위해 노력하고있어 여기에배열에 C로 문자열을 채우려면 어떻게해야합니까?
Andrew
Andy
Bob
Dan
Derek
Joe
Pete
Richy
Steve
Tyler
내가 쓴 기능입니다 ...하지만 프로그램이 충돌 나는 그것을 실행하면
#include <stdio.h>
main(){
int i=0, size=10;
char fname[15];
char** data;
char* name;
FILE* fp;
printf("Enter a filename to read names:\n");
scanf("%s", fname);
fp = fopen(fname, "r");
if(fp == NULL)
exit();
data = (char**)malloc(sizeof(char**)*size);
while(!feof(fp)){
fscanf(fp, "%s", name);
data[i] = (char*)malloc(sizeof(name));
data[i] = name;
i++;
}
fclose(fp);
printf("\n\n");
for(i=0; i<size; i++)
printf("%s ", data[i]);
free(data);
}
누구나 알고 내가 뭘 잘못하고있어? 감사합니다.
Reed, 나는 당신이 succintly하고 정확하게 대답했기 때문에 downvote하지 않을 것이다. 그러나 당신이 그를 프로세스에 대해 생각하게하지 않을 때 그를 도와주지 않을 것이다. –
정말 고마워. 지금 일하고있어. 그리고 네, 이제 제가 잘못한 것을 이해합니다. – Andrew
@San Jacinto : 잘 모르겠다. 나는 이것이 분명하다고 느꼈지만 코드를 다시 작성하지는 않았다. 왜 것들이 결함인지 지적하지 않고 도울 수는 없지만 ... 나는 당신의 요점을 보았습니다. @ Andrew : 그것이 작동하고있어 기쁩니다. 그리고 지금 당신은 그것을 이해하고 있습니다. –