// 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/