freopen

来源:互联网 发布:抓捕网络北京赛车赌博 编辑:程序博客网 时间:2024/06/09 23:03

用freopen进行文件读入,输出却和粘贴输出得到的结果不同

#include<stdio.h>#define MAXVER 501#define MAXEDG 12501typedef struct{int vex[MAXVER];//teams in every cityint arc[MAXVER][MAXVER];//length of roadint N, M;}Mgraph;Mgraph g;int visited[MAXVER], c1, c2, count, max, min = 66235;void read(){int i, j, r, c;scanf("%d%d%d%d", &(g.N), &(g.M), &c1, &c2);for(i = 0; i < g.N; i++)//the number of teams in i cityscanf("%d", &g.vex[i]);for(i = 0; i < MAXVER; i++)//init, make every roads be 0for(j = 0; j < MAXVER; j++){g.arc[i][j] = 0;}for(i = 0; i < g.M; i++){//length of the roadscanf("%d%d%d", &r, &c, &j);g.arc[r][c] = g.arc[c][r] = j;    }}void out(){int i, j;printf("%d %d %d %d\n", g.N, g.M, c1, c2);for(i = 0; i < g.N; i++)printf("%d\t", g.vex[i]);printf("\n");printf("\t");for(i = 0; i < g.N; i++)printf("%d\t", i);printf("\n");printf("\n");for(i = 0; i < g.N; i++){printf("%d\t", i);for(j = 0; j < g.N; j++){printf("%d\t", g.arc[i][j]);}printf("\n");}}int main(){freopen("in.txt", "r", stdin);read();//out();//dfs(c1, 0, g.vex[c1]);//printf("%d %d\n", count, max); return 0;}
输入数据如下:

5 6 0 2
1 2 1 5 3
0 1 1
0 2 2
0 3 1
1 2 1
2 4 1
3 4 1

将其正常输入,得到的结果如下:



如果是用重定向的方法读入数据,输出结果如下:



这是为什么呢?


已解决:
不是函数问题,而是因为文件存成了in.txt.txt了
可能是因为win8中笔记本已存成了.txt格式了


0 0
原创粉丝点击