我对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")

09-28 04:31