当我们读取文件的时候,读入的是数据流,这些数据流本身没有什么意义,比如0x41,0x42,0x43这样的数据,我们处理这些数据的时候就遵循特定的方法去处理,比如你要输出0x41这个数据的时候,你用%c输出,它就是一个字符a,你用%d输出,它就是数字65.
fwrite函数是把一串数据流输入到文件中去,比如你想把数据123456789(十进制)输入到文件中去,其对应的十六进制是0x75BCD15。当文件被打开的时候,你所看到的都是文本,都是字符,所以文件中的任何东西都会被一个字节一个字节地转换为字符输出,如果读取到的数据不是有效的字符,它就会显示成乱七八道的东西,就像你的程序中输出的东西一样。这种情况就要用别的函数把你要输入的非文本转换成文本输入进去,这些函数有fprintf(),fputs(),和fputc(),自然,读取的时候有相对应的读取函数fscanf(),fgets(),和fgetc(),熟练用这些就能正确的读取和输入文本中了
希望对你有帮助。
fwrite函数是把一串数据流输入到文件中去,比如你想把数据123456789(十进制)输入到文件中去,其对应的十六进制是0x75BCD15。当文件被打开的时候,你所看到的都是文本,都是字符,所以文件中的任何东西都会被一个字节一个字节地转换为字符输出,如果读取到的数据不是有效的字符,它就会显示成乱七八道的东西,就像你的程序中输出的东西一样。这种情况就要用别的函数把你要输入的非文本转换成文本输入进去,这些函数有fprintf(),fputs(),和fputc(),自然,读取的时候有相对应的读取函数fscanf(),fgets(),和fgetc(),熟练用这些就能正确的读取和输入文本中了
希望对你有帮助。
冰冻三尺,非一日之寒;士别三日,不足刮目相看!