字符串存入文件时空格后面的部分为什么读入不进去

我是把一个代码运行结果(含有空格的字符串)存入到文件,但是文件只能读入空格前的部分,这该如何解决?(C语言)

使用函数fread 和 fwrite可以一下子读完全部!
例如:

// 读取文件
char str[1024] =  { 0 };
int size = fread(str, sizeof(char), sizeof(str) / sizeof(str[0]), fp);

// 写入文件
char str[1024] = "hello world !";
int size = fwrite(str, sizeof(char), strlen(str), fp);

看看代码才知道啊,读入含有空格的字符串,不能使用%s格式
具体要看你写入的内容,如果其它数据项和这个字符串之间也是用空格分隔,那就不好分解了。如果每行都是一个代码运行结果,那么fgets函数就能读取一行数据。

用fscanf读取的吗,fscanf无法读取空格。如果你写文件的时候,是一行一行写入的,读取的时候就要一行一行的读取。使用fgets函数逐行读取文件。
参考如下: