C语言——第八章

这一章没有怎么仔细看,其实也很简单,记住格式就行了。等不会的时候可以翻书看一下就OK了。

到此为止,谭浩强的这本书已经看完一遍了,找到了10个左右的错误,感觉有点惊讶。后天C语言的圣经就买回来了,到时候再认真看看那本吧(评价极高啊~圣经Orz)!



一.

C语言的标准I/O库中定义了3FILE型指针:stdin(标准输入文件)stdout(标准输出文件)stderr(标准错误文件),他们可被任何程序使用,称为标准文件(standard file)指针,简称标准文件。通常标准文件指针都隐含指向控制台(终端设备),即在终端上进行输入/输出。


二.

1.读打开(r):只能读已经存在的文件,不能写

2.写生成(w):可建立一个新文件写入数据。若文件已经存在,将覆盖已有数据。

3.追加(a):向已有文件末尾写入数据或建立新文件。

4.读/写打开(r+):读或写已经存在的文件

5.读/写生成(w+):读或写新文件

6.读/写追加(a+):可读取或添加数据,或建立新文件。


三.写一个字符到磁盘文件

#include<stdio.h>

#include<stdlib.h>

int main()

{

FILE *fp;

int ch;

if((fp = fopen("G:\\test.txt", "w")) == NULL)

{

printf("error!\n");

exit(1);

}

while((ch = getchar()) != '\n')

fputc(ch, fp);

fclose(fp);

return 0;

}

文件路径为G:\\test.txt,应该是一个\,但是C语言需要转义,所以2\\

fputc函数也有返回值。如果执行此函数成功,就返回被输出的字符,否则就返回EOFEOF是一个符号常量,在stdio.h头文件中被定义为-1


四.统计文件中的单词个数

#include<stdio.h>

#include<stdlib.h>

int main(int argc, char *argv[])

{

FILE *fp;

char ch;

int white = 1;

int count = 0;

if((fp = fopen(argv[1], "r")) == NULL) argv[0]是文件名~~~1开始才是数据)

{

printf("can't open file %s.", argv[1]);

exit(1);

}

while((ch = fgetc(fp)) != EOF)

if(ch == ' ' || ch == '\t' || ch == '\n')

white++;

else

if(white)

{

white = 0;

count++;

}

fclose(fp);

printf("文件中有 %d 个单词", count);

return 0;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值