C Primer Plus 中 13 章 文件读写 IO 的总结

1 每次从文件中读写1个字符

1.1 读一个字符 getc(fp)

从哪里读,fp

读到哪里 ch (这里就是缓冲buff)

1.2 写一个字符putc(ch, fp)

从哪里获取 ch

写到哪里 fp

1 (fp = fopen(argv[1], "r")  // 首先打开一个文件 , 这里以命令行输入文件名为例 ,只读模式


2 while ((ch = getc(fp)) != EOF) 这里用getc(fp)每次读取一个字符。当读完一个字符赋值给ch后,文件指针往后走一格。可以一直到末尾

3 putc(ch, stdout); // 与 putchar(ch)相同  getc(stdin)与getchar()相同 

2,每次从文件读写1个字符串

2.1读1个字符串(单词,以空格 换行符为边界)

从哪里读,例如从标准输入stdin,保存到哪里,words字符串数组

2.2写1个字符串

从哪里获取,从words字符串数组,写到哪里?写到fp。

char  words[MAX]

fp = fopen("wordy", "a+")  //文件wordy打开

fscanf(stdin, "%40s", words)//从标准输入获取字符串,并保存在words字符串数组中

fprintf(fp, "%s\n", words) //然后将buff——words中的字符串通过fprintf写入文件流fp

fscanf(fp, "%s", words)然后从文件流fp中再读取,验证。

3.每次从文件读写1行

3.1读一行  从哪里读 ,fp  读到哪里  buf  

3.2写一行  从哪里获取  buf,  写到哪里fp

fgets(buf, STLEN, fp);  //读取一行  直到  '\n'  或者  STLEN - 1 或者  EOF 为止 

fputs(buf, fp)

4.二进制读写

前面都是字符的输入输出。当碰到例如数据12345时,前面的输入输出都是以字符‘1’,‘2’,‘3’,‘4’,‘5’的格式保存(5个char类型,5个8位),而如何保存12345的数据格式呢(1个16位二进制表示的)

fwrite(temp, sizeof(char), bytes, dest)  //写入bytes个char大小的数据块,从temp写到dest

fread(&value, sizeof(double), 1, iofile)//读取1个double大小的数据块,从iofile处写到value的地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值