C语言怎么从文件中读数据

qq675927952 2009-01-24 04:48:31
我想从t.txt中读入图的邻接表的数据,如下
1 2 2 3 3 4 4
2 2 1 3 3 4 4
3 3 1 2 2 4 4
4 4 1 2 2 3 3
表示顶点1 到2 的边的权值是2,到3的权值是3,我应该怎么读取里面的数据,顶点为整数从1--100
权值也是整数,整数之间有空格,

#define MAX_VERTEX_NUM 50 //最多顶点个数

/**-----图的邻接表存储表示------*/
typedef struct ArcNode
{
int adjvex; //该弧所指向的顶点的位置
struct ArcNode* nextarc; //指向下一条弧的指针
int weight; //该弧相关信息
}ArcNode ;

typedef struct VNode
{
int data; //顶点信息
ArcNode* firstarc ; //指向第一条依附该顶点的弧的指针
}VNode,AdjList[MAX_VERTEX_NUM];

typedef struct
{
AdjList vertices ;
int vexnum;//图的当前顶点总数
int arcnum ;//图的弧数总数
} ALGraph ;
...全文
409 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
breezes2008 2009-01-25
  • 打赏
  • 举报
回复
先用fgets()函数读取一行保存到一个临时缓冲区buf(大小为一行中最大的字符数),再用fsanf()函数写入到变量中,搞个循环就可以一行一行地读取完整个文件了。
  • 打赏
  • 举报
回复
up
waizqfor 2009-01-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qq675927952 的回复:]
我知道是fscanf; 但是我每一行的长度不确定。用fscanf格式怎么写,fscanf("%d %d "),能说具体点吗?
还有用sscanf怎么写,我文件的格式是第一个是起始点,后面的是和他相连的点,相连的点的个数不确定的邻接表形式
[/Quote]
fscanf(fp,"%d %d",xxxxxx);
如果长度不确定可以用fseek设置写入的位置 比如这一行很长 就继续的写 如果这一行很段 直接就把指针指向下一行的开始 从那写入
fseek( FILE *stream, long offset, int origin );
具体的查查函数实现表
qq675927952 2009-01-25
  • 打赏
  • 举报
回复
我知道是fscanf; 但是我每一行的长度不确定。用fscanf格式怎么写,fscanf("%d %d "),能说具体点吗?
还有用sscanf怎么写,我文件的格式是第一个是起始点,后面的是和他相连的点,相连的点的个数不确定的邻接表形式
xiaoyisnail 2009-01-24
  • 打赏
  • 举报
回复
waizqfor 2009-01-24
  • 打赏
  • 举报
回复
用fscanf直接读入文件就可以了
xiaoyisnail 2009-01-24
  • 打赏
  • 举报
回复
fscanf

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧