gpt4 book ai didi

c - 在新文件中打印文本错误

转载 作者:行者123 更新时间:2023-11-30 15:19:47 26 4
gpt4 key购买 nike

好吧,我正在尝试将此邻接矩阵写入此文本文件,但我的代码只是写入邻接矩阵的第一个值。

我没有使用fprint,而是简单地使用了printf进行了检查,它工作正常,但我无法真正理解在中打印相同内容会出现什么问题。 >.txt 文件

这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXVERTICES 10

int main(){


FILE* fp = fopen("input.txt", "r");
int **mat;
int num[100];
int i,v,e,j,a,b,u,ne=1,p;

int matrix[MAXVERTICES][MAXVERTICES];
int cost[10][10];
int taken[10] = {0}, min, mincost=0;

//printf("ENter");

fscanf(fp, "%d %d", &v, &e);

for (int i = 0; i <e; i++)
{
int v1, v2;
int weight;

fscanf(fp, "%d %d %d", &v1, &v2, &weight);

matrix[v1][v2] = matrix[v2][v1]=weight;
// printf("%d", weight);
}

//printf("Check 0");
FILE* f;
for (int i = 0; i<v; i++){
for (int j = 0; j<v; j++){
f=fopen("adjacency.txt", "w");

fprintf(f,"%d", matrix[i][j]);
}
fprintf(f,"\n");
}
fclose(f)
return 0;
}

最佳答案

您不必在循环内 fopen() 文件,只需 fopen() 文件一次,检查它是否打开,然后然后在循环中使用fprintf()

像这样修复你的程序

FILE* file;

file = fopen("adjacency.txt", "w");
if (file != NULL)
{
for (int i = 0; i<v; i++)
{
for (int j = 0; j<v; j++)
{
fprintf(f,"%d", matrix[i][j]);
}
fprintf(f,"\n");
}
}

关于c - 在新文件中打印文本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com