C语言如何实现对txt文件的读取和写入

C语言如何实现对txt文件的读取和写入,第1张

1、使用VS新建空工程,直接点击确定,如下所示。

2、新建c文件,用于C语言编译器,输入main.c文件,如下所示。

3、参考代码:

#include <stdio.h>

int main()

{

  //下面是写数据,将数字0~9写入到data.txt文件中

  FILE *fpWrite=fopen("data.txt","w")

  if(fpWrite==NULL)

  {

      return 0

  }

  for(int i=0i<10i++)

      fprintf(fpWrite,"%d ",i)

  fclose(fpWrite)

  //下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上

  int a[10]={0}

  FILE *fpRead=fopen("data.txt","r")

  if(fpRead==NULL)

  {

      return 0

  }

  for(int i=0i<10i++)

  {

      fscanf(fpRead,"%d ",&a[i])

      printf("%d ",a[i])

  }

  getchar()//等待

  return 1

}

4、编译完成后,运行exe程序,执行后显示console程序。

程序的源代码本身就是文本文件,将一个文本文件复制到另一个文本文件中使用 *** 作系统的复制粘贴命令即可。

源代码编译生成的可执行文件是二进制文件,二进制文件无法用文本文件表示。

如果预知前面的是英文后面的是中文,即可分开:

#include<stdio.h>

#define N 100

void main() { FILE *fpchar s[256],y[N][20],h[N][20]int i,n

if ( fp=fopen("c:\\data\\text.txt","r") ) {

  n=0

  while ( !feof(fp) ) {

    fgets(s,256,fp)sscanf("%s%s",y[n],h[n])n++if ( n>=N ) break

  }

  fclose(fp)

  printf("英文: ")for ( i=0i<ni++ ) printf("%s ",y[i])printf("\n")

  printf("中文: ")for ( i=0i<ni++ ) printf("%s ",h[i])printf("\n")

} else printf("无法打开文件读取。\n")

}

如果中英文顺序不一定,且不会有中英文混合单词:

#include<stdio.h>

#include<string.h>

#define N 100

void main() { FILE *fpchar s[256],y[N][20],h[N][20]int i,n

if ( fp=fopen("c:\\data\\text.txt","r") ) {

  n=0

  while ( !feof(fp) ) {

    fgets(s,256,fp)sscanf("%s%s",y[n],h[n])

    if ( y[n][0]<0 ) { strcpy(s,y[n])strcpy(y[n],h[n])strcpy(h[n],s)} //汉字字符ASCII码小于0

    n++if ( n>=N ) break

  }

  fclose(fp)

  printf("英文: ")for ( i=0i<ni++ ) printf("%s ",y[i])printf("\n")

  printf("中文: ")for ( i=0i<ni++ ) printf("%s ",h[i])printf("\n")

} else printf("无法打开文件读取。\n")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12030963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存