获取"警告:从不兼容的指针类型分配"

时间:2017-04-19 10:31:16

标签: c

我在fp=fopen("task.txt","r")收到错误,请有人帮帮我吗? 我正在尝试使用fp(File pointer)

打开文件
main()
{
    int l=0,pr[100];
    FILE *fp;
    fp=("task.txt","r");
    if(fp==NULL)
    printf("No file found");
    char arr[100][20];
    const char *str;int i;
    while(fscanf(fp,"%s",str)!=EOF)
    {
        strcpy(arr[l],str);
        l++;
    }
    for(i=0;i<l;i++)
    {
        system(arr[i]);
    }
}

2 个答案:

答案 0 :(得分:1)

此:

fp=("task.txt","iiiiia");

不包含对fopen()的调用。这会将字符串文字("iiiiia",由于逗号运算符将它们分开而被忽略)分配给FILE *,这显然不是很明智。

您应将其更改为:

fp = fopen("task.txt", "rt");

有意义。 fopen()的第二个参数并未定义字母i的用法,"rt"更符合您的其他文字。

答案 1 :(得分:1)

您的代码没有这样的代码。再次检查你的代码。

你没有fopen写道

fp=("task.txt","r");

写这个

fp=fopen("task.txt","r");

你会得到它