c语言中进行文件读写的函数是?

c语言中进行文件读写的函数是?,第1张

C语言对文件进行读取之前需要先打开文件,然后再进行读写,读写完之后关闭文件。

可以使用两组函数实现:

一、C语言库函数

打开文件:fopen

读写(一般对应成对使用):

fgetc---fputc fgets---fputs fread---fwrite

关闭文件:fclose

二、Linux系统函数

打开文件:open

读写(一般对应成对使用):read---write

关闭文件:close

fclose(fp):函数fclose()关闭给出的文件流, 释放已关联到流的所有缓冲区. fclose()执行成功时返回0,否则返回EOF.

加上这一句是为了保护你的文件 如果不写这句 那么别的程序也可以随意的对该文件进行写入 这样你的文件就是乱套了。

首先楼主要搞清楚getchar()是什么意思

getchar() 相当于 getc(stdin)也就是从stdin缓冲流里面读数据 你写这句也是为了防止你输入字符后后面还有残余

但是你第二个是读文件数据流 根本就没有读缓冲流 所以不写那句也可以的

不知道楼主明白否?

补充回答:

楼主没有弄明白什么是EOF EOF常被作为文件结束的标志。EOF 的值通常为 -1

它不是字符串他相当于宏定义 它是不会被写入到文件当中的

如楼主还有疑问 直接hi我吧

read内部是调_read, _read的返回值在msdn中有这样的描述

_read returns the number of bytes read, which might be less than count if there are fewer than count bytes left in the file or if the file was opened in text mode, in which case each carriage return–line feed (CR-LF) pair is replaced with a single linefeed character. Only the single linefeed character is counted in the return value. The replacement does not affect the file pointer.

注意这一段: in which case each carriage return–line feed (CR-LF) pair is replaced with a single linefeed character

就是说如果用text模式打开的话, 文件换行时可能在文本中有2个字符----换行和缩进(CR-LF), 而在return的时候系统是把它作为1个回车符号('\n')所返回的. 所以会导致这个情况


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6846388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存