| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 611 人关注过本帖
标题:[求助]关于文件读操作
只看楼主 加入收藏
tracycc
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-7-27
收藏
 问题点数:0 回复次数:5 
[求助]关于文件读操作
#include<stdio.h>
main()
{
char *s[500];
int i,j;
FILE *fp;
fp=fopen("in.txt", "r");
for(i = 0;i < 500;i ++)
{
if(!feof(fp))
{
fgets(s[i], 4, fp);
}
else
{
break;
}
}
for(j = 0;j < i;j ++)
{
printf("%s",s[j]);
}
fclose(fp);
getch();
}
in.txt 文件中就是
abc
def
ghi

可是不能够正确读出来,是什么原因啊?
搜索更多相关主题的帖子: 文件 main char fclose 
2006-08-12 13:12
jiahu0215178
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-8-12
收藏
得分:0 
include<stdio.h>
main()
{
char *s[500];
int i,j;
FILE *fp;
fp=fopen("in.txt", "r");
for(i = 0;i < 500;i ++)
{
if(!feof(fp))
{
fgets(s[i], 4, fp); ---------》换成getline(fp,s[i],'\n');试试看
}
else
{
break;
}
}
for(j = 0;j < i;j ++)
{
printf("%s",s[j]);
}
fclose(fp);
getch();
}
2006-08-12 16:01
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
#include "Stdio.h"
#include "Conio.h"
#include<stdio.h>
main()
{
char str[3][5];
char (*s)[5];
int i,j;
FILE *fp;
s=str;
if((fp=fopen("d:\\in.txt", "r"))==NULL) exit(0);
for(i = 0;i <3;i ++)
{
if(!feof(fp))
{
fgets(s[i],128, fp);
}
else
{
break;
}
}
for(j = 0;j < i;j ++)
{
printf("%s",s[j]);
}
fclose(fp);
getch();
}
已经改好了,
您对指针的理解有些偏差,另外,
char *fgets(char *s,int n,FILE *fp);
从fp中读入字符串,存入s,最多读n-1个字符,当读到换行回车符,文件末尾或读满n-1个字符时函数返回,且在字符串末尾添加'\0'结束

对不礼貌的女生收钱......
2006-08-12 19:35
天下行
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-8-11
收藏
得分:0 
3楼的源程序好像有些问题
第一:头文件,第三个include应改为
#include <stdlib.h>
第二:若d:\\in.txt 不是楼主那样简单的就会出错
以上不知我指出的是否有问题,还望各位指正
以下是我自己写的一个程序:

#include "Stdio.h"
#include "Conio.h"
#include<stdlib.h>
void main()
{
FILE *fp;
char c;
if((fp=fopen("d:\\in.txt", "r"))==NULL) exit(0);
while(!feof(fp))
{
fread(&c,1,1,fp);
putchar(c);
}
fclose(fp);
}

2006-08-12 21:07
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
饿,那是我在复制楼主代码过来的再加上WTC摸板下带的,忘了改过来,不好意思,去掉就行了
至于改变那个路径是我用来测试的,因为我把文件放D盘里了。
楼主的程序问题主要出在指针和fgets函数上,不过仍谢谢楼上的提醒

[此贴子已经被作者于2006-8-12 21:14:28编辑过]


对不礼貌的女生收钱......
2006-08-12 21:11
天下行
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-8-11
收藏
得分:0 
我是4楼的,
可能我没说清楚,我指的文件不像楼主给的那么简单不是指文件路径,而是指文件的内容
如果文件内容不是一行只有几个字符,只有几行的话,用vc就会发现执行到最后会出问题
另外:问二楼的getline函数包含在哪个头文件中,我怎么没找到呀

2006-08-13 21:12
快速回复:[求助]关于文件读操作
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029443 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved