joker_xue_ 2022-03-03 12:12 采纳率: 60%
浏览 42
已结题

c语言文件题,最好有注释

在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串。将字符串从指定下标p处开始的前q个字符(包括p处字符,q≤p+1)复制到字符串的结尾,形成的新串保存到另一个文件中。比如,abcdefg,从下标3处开始的前2个字符复制到字符串的结尾,得新串:abcdecd。要求:p和q均由键盘输入。#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ FILE *fp; char s[110], t[110]; int p, q; if ((fp = fopen("D:\a.txt", "w")) == NULL) { printf("Create file error\n"); exit(0); } fgets(s,110,stdin); fprintf(fp,"%s",s); fclose(fp); if ((fp = fopen("D:\a.txt", "r")) == NULL) { printf("Open file error\n"); exit(0); } fgets(s,110,fp); fclose(fp); printf("%s",s); fscanf(fp, "%s%d%d", s, &p, &q); strncpy(t,s+p,q); if ((fp = fopen("D:\b.txt", "w")) == NULL) { printf("Create file error\n"); exit(0); } fprintf(fp, "%s", t); fclose(fp); return 0;

  • 写回答

3条回答 默认 最新

  • 关注

    img


    img

    
     
    //在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串。
    //将字符串从指定下标p处开始的前q个字符(包括p处字符,q≤p+1)复制到字符串的结尾,形成的新串保存到另一个文件中。
    //比如,abcdefg,从下标3处开始的前2个字符复制到字符串的结尾,得新串:abcdecd。要求:p和q均由键盘输入。
    #pragma warning(disable:4996) //开头加这句或项目、属性、配置属性、C/C++、预处理器、预处理器定义中添加“_CRT_SECURE_NO_WARNINGS”
    #include <stdio.h>
    #include <string.h>
    int main() {
        FILE *f;
        char s[80];
        char t[80*2];
        int p,q;
     
        f=fopen("a.txt","w");
        fgets(s,80,stdin);
        if ('\n'==s[strlen(s)-1]) s[strlen(s)-1]=0;
        fprintf(f,"%s",s);
        fclose(f);
        f=fopen("a.txt","r");
        fgets(s,80,f);
        fclose(f);
        printf("%s",s);
        while (1) {
            printf("\ninput p(0<=p<=%d) q(1<=q<=p+1):",strlen(s)-1);
            fflush(stdout);
            rewind(stdin);
            if (2==scanf("%d%d",&p,&q)) {
                if (0<=p && p<=strlen(s)-1 && 1<=q && q<=p+1) break;
            }
        }
        strncpy(t,s,strlen(s)-q);
        t[strlen(s)-q]=0;
        strncat(t,s+p-q+1,q);
        f=fopen("b.txt","w");
        fprintf(f,"%s",t);
        fclose(f);
        return 0;
    }
    //d:\test>test.exe
    //abcdefg
    //abcdefg
    //input p(0<=p<=6) q(1<=q<=p+1):3 2
    //
    //d:\test>type a.txt
    //abcdefg
    //d:\test>type b.txt
    //abcdecd
    //d:\test>
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月11日
  • 已采纳回答 3月3日
  • 修改了问题 3月3日
  • 修改了问题 3月3日
  • 展开全部

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度