我正在尝试构建一个读取文件并输入字符串的简单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;
}
我该如何解决这个问题?感谢
答案 0 :(得分:0)
关于这一行:
char *string = *try;
问题是发布的代码正在尝试将指向FILE结构的指针指定给char指针。
通常,从fopen()
返回的值仅适用于read(),write(),fclose()fprintf()fwrite(),fread(),fscanf()等函数中的参数,除非编写使用设备驱动程序等的非常低级代码,否则FILE指针的实际内容是没有意义的
发布的代码正在尝试使用&#39;%s&#39;来打印try
的内容。格式说明符。那样不行。建议:
printf( "%p is where 'try' points\n", try );
as&#39;%p&#39;用于打印地址。
try
点的内容需要使用FILE结构中的字段,可能逐个打印这些字段