// Trying to read file


void readFilee(char *namefile){

    FILE *f_in = fopen(namefile,"r");
    char x;
    int i = 0;

    if(!f_in){ printf("Error"); exit(0); }

    /* read to EOF */
    while(1){
        x = getc(f_in);
        if(x == '\n') continue;
            archivo[i] = x;
        if(x == EOF) break;
            i++;
    }
    tamArchivo = i;
    fclose(f_in);
}


实际上,错误为f_in为null,但我不明白为什么?我正在尝试将服务器与多个客户端连接,客户端已初始化等待连接。

命令验证“如果”,我得到“错误”

最佳答案



archivo[i] = '\0';


while循环终止后。这将在字符串archivo的末尾添加null charachter

也可能是archivo数组的内存空间不足以获取文件的全部内容,因此它可能导致缓冲区溢出,从而可能导致崩溃

关于c - C-读取文件错误。!f_in为空,不知道为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14255280/

10-09 12:32