黑马程序员技术交流社区
标题: C语言学习笔记之字符读写函数 [打印本页]
作者: chunhuayun 时间: 2015-10-1 23:36
标题: C语言学习笔记之字符读写函数
1、字符写入函数fputc
该函数是以字节为单位,每次可向文件写入一个字符
调用形式为:
fputc(字符量,文件指针);
例如:
- FILE *fp;
- fp = fopen("test.txt", "a");
-
- char str[] = "I have a dream!";
- // for (int i = 0; i < strlen(str); i++) {
- // fputc(str[i], fp);
- // }
- // printf("写入成功!");
- char ch = fgetc(fp);
- printf("写入成功,读取文件内容为:%c",ch);
- while (ch != EOF) {//如果ch等于EOF说明已经读取到文件的结尾了
- putchar(ch);
- ch = fgetc(fp);
- }
复制代码
打印结果:
写入成功,读取文件内容为:II have a dream!
五、应用:保存键盘输入的字符串
【要求】从键盘接收一行字符,写入文件,再把该文件内容读出显示到控制台
代码如下:
- #include <stdio.h>
-
- int main(int argc, const char * argv[])
- {
- FILE *fp;
- fp = fopen("test3.txt", "w+");
-
- if(NULL == fp){
- //如果等于null则说明打开失败,给用户提示
- printf("打开失败,按任意键退出....");
- getchar();//要求从键盘接收一个字符
- exit(1);//表示非正常退出
- } else{
-
- printf("请输入一个行字符串,回车键结束:");
- char ch = getchar();
- int count = 0;
-
- while (ch != '\n') {
- fputc(ch, fp);
- ch = getchar();
- count++;
- }
-
- printf("本次共输入了 %d 个字符\n",count);
-
- rewind(fp);//把文件指针再指向文件开头
- count = 0;
- ch = fgetc(fp);
-
- printf("读取文件内容为:");
- while (ch != EOF) { //如果ch等于EOF说明已经读取到文件的结尾了
- count++;
- putchar(ch);
- ch = fgetc(fp);
-
- }
- printf("\n本次共读取了 %d 个字符\n",count);
- }
-
- fclose(fp);
- return 0;
- }
-
复制代码
打印结果:
请输入一个行字符串,回车键结束:I amamos! I want to fly in the sky!
本次共输入了 36 个字符
读取文件内容为:I am amos! I want to fly in the sky!
本次共读取了 36 个字符
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |