0

error C2143: syntax error : missing ';' before 'type'我在编译期间收到错误,在我char *buf在下面的代码中声明的那一行,我不知道为什么。我正在运行 Visual Studio 2012。它显然在 gcc 中编译得很好。VS 中是否有一些设置需要更改才能编译,或者我可以进行代码修改?

我现在唯一想做的就是创建一个与我的文件大小相同的 char 数组input.txt

#include <stdio.h>
#include <stdlib.h>

int get_file_size(FILE *inputfile);

int main()
{
    FILE *inputfile;
    int filesize;
    char filename[FILENAME_MAX];

    inputfile = fopen("input.txt","r");
    filesize = get_file_size(inputfile);
    char *buf = (char*)malloc(sizeof(char)*filesize);
    fclose(inputfile);

    return 0;
}

int get_file_size(FILE *inputfile)
{
    int size;

    inputfile = fopen("input.txt","r");
    fseek(inputfile,0,SEEK_END);
    size = ftell(inputfile);
    fclose(inputfile);

    return size;
}
4

1 回答 1

4

VS 不支持 C99,所以你所有的变量声明都必须在当前作用域的顶部。对你来说,这意味着函数的顶部。

于 2013-09-28T22:19:17.280 回答