找出字符读/写读数的数量

时间:2014-09-03 13:14:23

标签: c io

我对c很新,所以请耐心等待。

  1. 如何查找字符读/写读数?

  2. 我可以更具体一点,并在参数中指定chars读/写读数吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:2)

从男人(2)读到:

  

如果成功,则返回实际读取的字节数

从男人(2)写道:

  

成功完成后,返回写入的字节数

现在关注:

  

我可以更具体一点,并在参数中指定chars读/写读数吗?如果是这样,怎么样?

AFAIK没有,但可能有一些设备/内核特定方式使用,例如ioctl(2)

答案 1 :(得分:0)

C和C ++有不同的IO库。我想你是用C编码的。

fprintf(3)返回(成功时)打印字符数。

scanf(3)返回成功读取的项目数,但也接受%n说明符:

   n      Nothing is expected; instead, the number of characters
          consumed thus far from the input is stored through the next
          pointer, which must be a pointer to int. 

你也可以逐行做IO ...(getlinesnprintfsscanffputs ....)

for Linux and Posix

如果直接调用 {/ 3}}或read(2)函数(即系统调用),则会在成功时返回输入或输出字节数。

您可以使用write(2)系统调用或lseek(2) <stdio.h>函数来查询当前文件偏移量(没有任何意义,因此会对不可搜索的文件(如管道)失败,插座,FIFO,......)。

另见ftell(3)