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获取了文件里的信息,但是这些信息都有的是第二第三行的,如何索取到第二或者更后面的信息,然后再屏幕上打印出来 展开
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获取了文件里的信息,但是这些信息都有的是第二第三行的,如何索取到第二或者更后面的信息,然后再屏幕上打印出来 展开
展开全部
您好,楼主,您开头使用fopen打开一个文件的时候,fopen的第二个参数你填充的是“w”意思是你只给予“写文件”的权限,而你现在又想要得到文件里的信息,所以你一个在fopen的时候第二个参数填“wb+”即fopen( "C:\\Users\\Loki\\Downloads\\loki.txt" , "wb+" );但是实际上你用这个函数打开文件,然后用fread读取文件数据,这些数据都是二进制数据的,你确定你是想读取文件的二进制数据吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你第二次打开的时候,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;
}
如下:
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单
你写入后 没有关闭文件指针 因此没有保存
在关闭文件指针以前的操作其实都是在内存中进行的
fprintf( fp , "KevinJohnson1234567858293100886475 \n" );
fprintf( fp , "NancyJackson6489028759293871007488 \n" );
fprintf( fp , "WEI LIU 70388311009510010010081100 \n" );
你写入后 没有关闭文件指针 因此没有保存
在关闭文件指针以前的操作其实都是在内存中进行的
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来搜索。
printf("KevinJohnson1234567858293100886475 \n" );
2。用fseek来搜索。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询