|
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 个字符
|