当前位置: 代码迷 >> C语言 >> 求助:文件操作!!
  详细解决方案

求助:文件操作!!

热度:388   发布时间:2006-09-07 13:54:50.0
求助:文件操作!!
请帮帮忙!

现有一个文件ped.txt,里面有三列数据,格式如下:


ahdfs shdje sjdjf
sdhfh hdier dfue



我想从文件中读入,在原样输出。
搜索更多相关的解决方案: 文件  

----------------解决方案--------------------------------------------------------
以下是引用yunfeiyu在2006-9-7 13:54:50的发言:
请帮帮忙!

现有一个文件ped.txt,里面有三列数据,格式如下:


ahdfs shdje sjdjf
sdhfh hdier dfue



我想从文件中读入,在原样输出。

表达不清
什么文件读入?
你的意思是把这些数据输入到新建文件:ped.txt 么?


----------------解决方案--------------------------------------------------------

我想把ped.txt文件中的内容输出到屏幕上

谢谢


----------------解决方案--------------------------------------------------------
就这么简单啊
----------------解决方案--------------------------------------------------------

#include<stdio.h>

main()
{
FILE *fp;
int f;

if((fp=fopen("D:\\ped.txt","rb"))==NULL)
{
puts("Open file error!");
getch();
exit(1);
}
while((f=fgetc(fp))!=-1)
printf("%c",f);

getch();
}


----------------解决方案--------------------------------------------------------
我要是把ped.txt文件的内容读入到三个数组,怎么办啊?

谢谢
----------------解决方案--------------------------------------------------------
直接二维不就行了么?!

----------------解决方案--------------------------------------------------------

有个函数叫做strtok,用法如下,可以判断读文件中的空格

#include "stdio.h"
#include "string.h"

struct student
{
char name[20];
int age;
char address[20];
char telnum[10];
};

main()
{
FILE *rfp,*wfp;
char *tfile=".\\data.txt";
char *bfile=".\\data_out.txt";
char seps[]=" \n";
char text[100],temp[100];
int i,index,num;
char *token;

struct student person[10];

if((rfp=fopen(tfile,"r"))==NULL)
printf("%s could not be opened!\n",tfile);
if((wfp=fopen(bfile,"w"))==NULL)
printf("%s could not be opened!\n",bfile);

num=0;
while(!feof(rfp))
{
fgets(text,100,rfp);
token=strtok(text,seps);

index=0;
while(token&&*token!='\x0a')
{
switch(index)
{
case 0: strcpy((person+num)->name,token);break;
case 1: (person+num)->age=atoi(token);break;
case 2: strcpy((person+num)->address,token);break;
default:strcpy((person+num)->telnum,token);
}

token=strtok(NULL,seps);
index++;
}
num++;
}

i=0;
while(i<num)
{
fprintf(wfp,"%s ",(person+i)->name);
fprintf(wfp,"%d ",(person+i)->age);
fprintf(wfp,"%s ",(person+i)->address);
fprintf(wfp,"%s\n",(person+i)->telnum);
i++;
}

fclose(rfp);
fclose(wfp);
}


----------------解决方案--------------------------------------------------------

谢谢!!


----------------解决方案--------------------------------------------------------
  相关解决方案