Moonlight....... 2024-03-09 22:07 采纳率: 100%
浏览 2
已结题

用C语言新建文件,如open、read、wirte等函数

在当前文件夹下新建两个文件(1.txt 2.txt)
往1.txt中把1234567890输进去,然后从1.txt读取后半部分,再把读取的部分输入到2.txt中

  • 写回答

4条回答 默认 最新

  • 关注

    Moonlight....... 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    在C语言中,你可以使用fopen(), fwrite(), fread()fclose()等函数来实现文件的创建、写入、读取和关闭操作。以下是一个简单的示例代码片段:

    #include <stdio.h>
    
    #define BUFFER_SIZE 11
    
    int main() {
        FILE *file1, *file2;
        char buffer[BUFFER_SIZE] = "1234567890"; // 初始化缓冲区
        char readBuffer[BUFFER_SIZE];
        
        // 打开或创建1.txt并写入数据
        file1 = fopen("1.txt", "w");
        if (file1 == NULL) {
            printf("Failed to open or create 1.txt.\n");
            return -1;
        }
        fwrite(buffer, sizeof(char), BUFFER_SIZE, file1);
        fclose(file1);
    
        // 打开1.txt读取后半部分数据
        file1 = fopen("1.txt", "r");
        if (file1 == NULL) {
            printf("Failed to open 1.txt.\n");
            return -1;
        }
        fseek(file1, sizeof(char) * 5, SEEK_SET); // 移动文件指针到中间位置(这里假设读取后半部分是5个字符以后的内容)
        fread(readBuffer, sizeof(char), BUFFER_SIZE / 2, file1); // 读取后半部分
        fclose(file1);
    
        // 打开或创建2.txt并写入从1.txt读取的数据
        file2 = fopen("2.txt", "w");
        if (file2 == NULL) {
            printf("Failed to open or create 2.txt.\n");
            return -1;
        }
        fwrite(readBuffer, sizeof(char), strlen(readBuffer), file2); // 写入实际读取的长度
        fclose(file2);
    
        return 0;
    }
    

    注意

    • 上述代码将“后半部分”定义为从第6个字符开始读取到末尾,如果需要其他定义,请调整fseek()中的偏移量。
    • 在写入2.txt时,使用了strlen(readBuffer)获取实际读取到的有效字符串长度,防止写入多余的空字符。

    通过上述步骤,你便实现了在当前目录下创建两个文件,并将1.txt的一部分内容复制到2.txt中。

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

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 创建了问题 3月9日

悬赏问题

  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥20 看图片)删除这个自动化录屏脚本就一直报错找不到脚本文件,如何解决?(相关搜索:bat文件)
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件