前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言文件操作相关题目

C语言文件操作相关题目

作者头像
用户11036582
发布2024-03-24 12:50:08
940
发布2024-03-24 12:50:08
举报
文章被收录于专栏:跟我一起学编程

给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行!!! 铁铁们,成功的路上必然是孤独且艰难的,但是我们不可以放弃,远山就在前方,但我们能力仍然不足,所有我们更要奋进前行!!! 今天我们更新了文件操作内容, 🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝

要求:

使用所学文件操作,在当前目录下放一个文件data.txt,写一个程序,将data.txt文件拷贝一份,生成data_copy.txt文件。

基本思路:

  1. 打开文件data.txt,读取数据
  2. 打开文件data_copy.txt,写数据
  3. 从data.txt中读取数据存放到data_copy.txt文件中,直到文件结束。
  4. 关闭两个文件

代码实现:

代码语言:javascript
复制
#include <stdio.h>



int main() {

  FILE* sourceFile, * targetFile;

  char ch;



  // 打开源文件data.txt以供读取

  sourceFile = fopen("data.txt", "r");

  if (sourceFile == NULL) {

    perror("无法打开源文件");

    return 1;

  }



  // 打开目标文件data_copy.txt以供写入

  targetFile = fopen("data_copy.txt", "w");

  if (targetFile == NULL) {

    perror("无法打开目标文件");

    fclose(sourceFile);

    return 1;

  }



  // 从sourceFile中读取字符并写入targetFile中

  while ((ch = fgetc(sourceFile)) != EOF) {

    fputc(ch, targetFile);

  }



  // 关闭文件流

  fclose(sourceFile);

  fclose(targetFile);



  printf("文件已成功复制。\n");



  return 0;

}#include <stdio.h>



int main() {

  FILE* sourceFile, * targetFile;

  char ch;



  // 打开源文件data.txt以供读取

  sourceFile = fopen("data.txt", "r");

  if (sourceFile == NULL) {

    perror("无法打开源文件");

    return 1;

  }



  // 打开目标文件data_copy.txt以供写入

  targetFile = fopen("data_copy.txt", "w");

  if (targetFile == NULL) {

    perror("无法打开目标文件");

    fclose(sourceFile);

    return 1;

  }



  // 从sourceFile中读取字符并写入targetFile中

  while ((ch = fgetc(sourceFile)) != EOF) {

    fputc(ch, targetFile);

  }



  // 关闭文件流

  fclose(sourceFile);

  fclose(targetFile);



  printf("文件已成功复制。\n");



  return 0;

}

要求:

用malloc实现二维数组

代码:

代码语言:javascript
复制
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,j;
    int row = 4,col = 5;
    //申请一个 4行 5列的二维数组 
    int **ar = (int**)malloc(sizeof(int*) * row);  //sizeof(int*),不能少*,一个指针的内存大小,每个元素是一个指针。
    for (i = 0;i < row;i++)
    {
        ar[i] = (int*)malloc(sizeof(int) * col);
    }
    
    for (i = 0;i < row;i++)
    {
        for (j = 0;j < col;j++)
        {
            printf("%p  ",&ar[i][j]);
        }
        printf("\n");
    }
    for (i = 0;i < row;i++)
        free(ar[i]);
    free(ar);
    return 0;
}#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,j;
    int row = 4,col = 5;
    //申请一个 4行 5列的二维数组 
    int **ar = (int**)malloc(sizeof(int*) * row);  //sizeof(int*),不能少*,一个指针的内存大小,每个元素是一个指针。
    for (i = 0;i < row;i++)
    {
        ar[i] = (int*)malloc(sizeof(int) * col);
    }
    
    for (i = 0;i < row;i++)
    {
        for (j = 0;j < col;j++)
        {
            printf("%p  ",&ar[i][j]);
        }
        printf("\n");
    }
    for (i = 0;i < row;i++)
        free(ar[i]);
    free(ar);
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 要求:
  • 代码实现:
  • 要求:
  • 代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档