내 코드를 실행하려고하지만이 호환되지 않는 경고가 나타나는 것 같습니다. 경고 : 'FILE *'(일명 'struct __sFILE *') 유형의 매개 변수에 'char *'을 전달하는 호환되지 않는 포인터 유형
int Read_Data_File(void)
{
FILE *ptr_file;
char *end = "0.0.0.0 none";
char *buf;
int endLoop = 0;
ptr_file = fopen("CS222_Inet.txt", "r");
if (!ptr_file)
return 1;
int i = 0;
while (!feof(ptr_file)){
addr[i]=(struct address_t *)malloc(sizeof(struct address_t));
fscanf(ptr_file,"%s",buf);
if(!(strcmp(buf, end) == 0)){
fscanf(buf,"%d %d %d %d %s", &addr[i]->IP1, &addr[i]->IP2, &addr[i]->IP3, &addr[i]->IP4, addr[i]->name);
n++;
}
i++;
}
fclose(ptr_file);
return 0;
}
enter code here
는이 프로그램이 파일을 읽고도 내 버피 포인터로 내 구조 유형을 저장할.
경고 출력 : project.c : 65 : 11 : 경고 '숯 *'를 통과 호환 포인터 타입 '파일 *'(일명 '구조체 __sFILE *') [-Wincompatible - 포인터 타입 타입 파라미터 행 형식] fscanf (buf, "% d % d % d % d % s", & addr [i] -> IP1, & 추가 ... ^ ~/응용 프로그램/Xcode.app/Contents/Developer/ 플랫폼/MacOSX.platform/개발자/SDKs/MacOSX10.12.sdk/usr/include/stdio.h : 250 : 30 : 참고 : 인수를 여기에 매개 변수로 전달 int fscanf (FILE * __restrict, const char * __restrict,. ..) __scanf ... ^
오류가 정확히 표시됩니다. 두 번째'fscanf' 첫 번째 인수는 파일이 아니며 'buf'입니다. 또한 Google은 "while (! feof())은 항상 잘못되었습니다." –