用c语言读取一个txt文件?

2025-04-14 02:54:38
推荐回答(2个)
回答1:

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

#include

#define N 100

void main() { FILE *fp; char 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=0;i

    printf("中文: "); for ( i=0;i

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

}

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

#include

#include

#define N 100

void main() { FILE *fp; char 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=0;i

    printf("中文: "); for ( i=0;i

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

}

回答2:

/*假设你的数据文件是d:\ttt.txt
用循环把数字读到数组a里面顺便显示出来 */
#include
int main()
{
double a[100];
int i=0;
FILE* fp;
if((fp=fopen("d:\\ttt.txt","r"))==0)
{
printf("无文件!!\n");
return -1;
}
while(!feof(fp))
{
fscanf(fp,"%lf",&a[i]);
printf("%lf\n",a[i]);
i++;
}
fclose(fp);
return 0;
}