【发布时间】:2023-03-25 19:20:01
【问题描述】:
我正在尝试构建一个简单的 c 来读取文件并输入字符串, 但是我在编译时遇到了这个错误:
try.c:8: error: incompatible types in initialization
这是代码:
#include <stdlib.h>
#include <stdio.h>
int main()
{
FILE *try = fopen("C:\\Users\\User\\Desktop\\try1.txt", "r");
char *string = *try;
printf("%s\n", string);
printf("%s\n", try);
system("PAUSE");
return 0;
}
我该如何解决这个问题?谢谢
【问题讨论】:
-
*try的类型当然是FILE,而不是char *。你想要fread()或fgets()什么的。 -
char *string = NULL; size_t bufsize = 0; ssize_t slen = getline(&string, &bufsize, try); -
尝试使用
fgets或fscanf等函数。 -
@EOF:
getline不是标准的。请改用fgets。 -
@Olaf:
getline()是 POSIX。如果你没有getline(),我很抱歉。
标签: c types initialization