我对C中的文件操作(如写/读)还不熟悉。是否有解决方案将下面的printf()全部写入到我的输出文本文件?执行完之后,我无法将所有的行写入我的文本文件。
for(i=0;i < n;i++)
if(i!=startnode)
{
outputFile = fopen(myOutputFile, "w");
printf("\nCOST of %d = %d", i, cost[i]);
printf("\nTRACE = %d", i);
j=i;
do
{
j=pred[j];
printf(" %d", j);
}
while(j!=startnode);
}
最佳答案
您可以使用fprintf(FILE * stream, const char * format, ... )并将文件句柄传递给函数。
for(i=0;i < n;i++)
if(i!=startnode)
{
outputFile = fopen(myOutputFile, "a");
fprintf(outputFile,"\nCOST of %d = %d", i, cost[i]);
fprintf(outputFile,"\nTRACE = %d", i);
j=i;
do
{
j=pred[j];
fprintf(outputFile," %d", j);
}
while(j!=startnode);
fclose(outputFile);
}
根据您的评论编辑:
根据您的评论更新打开文件的模式:
fopen("asdas","a")