C语言中如何建立文档然后网里面添加数据,然后再屏幕上打印出来

FILE*fp;fp=fopen("C:\\Users\\Loki\\Downloads\\loki.txt","w");if(!fp){printf("openfile... FILE *fp;
fp=fopen( "C:\\Users\\Loki\\Downloads\\loki.txt" , "w" );
if ( !fp )
{
printf("open file error\n");
return -1;
}
fprintf( fp , "KevinJohnson1234567858293100886475 \n" );
fprintf( fp , "NancyJackson6489028759293871007488 \n" );
fprintf( fp , "WEI LIU 70388311009510010010081100 \n" );
fp = fopen("C:\\Users\\Loki\\Downloads\\loki.txt","r");
char mytext[20];
fgets(mytext,20,fp);
printf ("%s\n",mytext);
fclose(fp);
问题1:我这个程序运行起来没有语法错误,但是只是建立了文件,以及向里面输入了我FPRINTF的信息,并没有在屏幕上打印出来这些信息
问题2:就算我用FGETS获取了文件里的信息,但是这些信息都有的是第二第三行的,如何索取到第二或者更后面的信息,然后再屏幕上打印出来
展开
 我来答
jiajia1314226
2013-03-27 · 超过10用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:26.9万
展开全部
您好,楼主,您开头使用fopen打开一个文件的时候,fopen的第二个参数你填充的是“w”意思是你只给予“写文件”的权限,而你现在又想要得到文件里的信息,所以你一个在fopen的时候第二个参数填“wb+”即fopen( "C:\\Users\\Loki\\Downloads\\loki.txt" , "wb+" );但是实际上你用这个函数打开文件,然后用fread读取文件数据,这些数据都是二进制数据的,你确定你是想读取文件的二进制数据吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qipilangfour
2013-03-27 · TA获得超过232个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:125万
展开全部
你第二次打开的时候,fp指向的是文件内容的结尾,所以打不出来东西。你要在第二个fopen之前先fclose(fp);
如下:
int main()
{
FILE *fp;

fp=fopen( "C:\\Users\\Loki\\Downloads\\loki.txt", "w" );
if ( !fp )
{

printf("open file error\n");

return -1;

}

fprintf( fp , "KevinJohnson1234567858293100886475 \n" );

fprintf( fp , "NancyJackson6489028759293871007488 \n" );

fprintf( fp , "WEI LIU 70388311009510010010081100 \n" );

fclose(fp);
fp = fopen("C:\\Users\\Loki\\Downloads\\loki.txt","r");

char mytext[20] = {0};

fgets(mytext,20,fp);

printf ("%s\n",mytext);

fclose(fp);

return 0;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海雄风2009
2013-03-27 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2803万
展开全部
很简单

你写入后 没有关闭文件指针 因此没有保存

在关闭文件指针以前的操作其实都是在内存中进行的

fprintf( fp , "KevinJohnson1234567858293100886475 \n" );
fprintf( fp , "NancyJackson6489028759293871007488 \n" );
fprintf( fp , "WEI LIU 70388311009510010010081100 \n" );
更多追问追答
追问
我刚学,请详细点好么?非常感谢
追答

你就直接说要代码就好了

 

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-27
展开全部
1。 在每句fprintf后面再加上一句printf,如:
printf("KevinJohnson1234567858293100886475 \n" );
2。用fseek来搜索。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式