用freopen進行文件讀入,輸出卻和粘貼輸出得到的結果不同
#include<stdio.h>
#define MAXVER 501
#define MAXEDG 12501
typedef struct{
int vex[MAXVER];//teams in every city
int arc[MAXVER][MAXVER];//length of road
int 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 city
scanf("%d", &g.vex[i]);
for(i = 0; i < MAXVER; i++)//init, make every roads be 0
for(j = 0; j < MAXVER; j++){
g.arc[i][j] = 0;
}
for(i = 0; i < g.M; i++){//length of the road
scanf("%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格式了