m0_73762489 2022-09-16 16:47 采纳率: 100%
浏览 64
已结题

C语言c++程序设计

怎么解决在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串。计算字符串中字母、数字、空格、其它符号出现的次数,并将字母和数字存放到另一个文件中。

  • 写回答

2条回答 默认 最新

  • Nutkey 2022-09-16 18:03
    关注

    代码:

    /*
        键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。 
    */
     
     
    #include <stdio.h>
    #include <string.h>
    #include<iostream>
    int main () {
     
     
        //定义变量
        char ch; 
        
        //打开文件
        FILE *fp = fopen("inputString.txt", "w+"); 
        FILE *fp1 = fopen("number.txt", "w+");
        //判断文件是否打开成功
        if (fp!=NULL&&fp1!=NULL) {
        
            //提示用户输入一个字符串
            printf("请输入要保存的字符串:\n");
            //接收,循环写入到文件中
            ch = getchar();
            //判断是否输入了\n
            while (ch!='\n') {
                fputc(ch, fp); //把字符保存到文件中
                ch = getchar(); //获取下一个字符 
            }
            //读取出来并显示到控制台    
            rewind(fp); //作用是把文件指针,重新指向文件首地址 
            //从文件中读取一个字符
            ch = fgetc(fp);
            int a1=0;
            int b1=0;
            int c1=0;
            int d1=0;
            while (ch!=EOF) {
                //显示ch到控制台
                putchar(ch);
                if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
                {
                    a1++;
                    fputc(ch, fp1); //把字符保存到文件中
                }
                else if(ch>='0'&&ch<='9')
                {
                    b1++;
                    fputc(ch, fp1); //把字符保存到文件中
                }
                else if(ch==' ')
                {
                    c1++;
                }
                else
                {
                    d1++;
                }
                //读取一个字符
                ch  = fgetc(fp); 
            } 
            printf("\n");
            printf("本文本有%d个字母\n",a1);
            printf("本文本有%d个数字\n",b1);
            printf("本文本有%d个空格\n",c1);
            printf("本文本有%d个其它\n",d1);
            //printf("\n"); 
        //读取显示文件
        }
        //关闭文件指针 
        fclose(fp);
        fclose(fp1);
        system("pause");
        return 0; 
    }
    

    结果:

    img

    原字符串文件:

    img

    存储字母和数字的文件:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 请提交代码 4月24日
  • 系统已结题 9月24日
  • 已采纳回答 9月16日
  • 创建了问题 9月16日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题