我有一个函数dumpArray();它可以:

void dumpArray(void)
{
       while(p <= i)
       {
           printf("%i:", packet[p].source);
           printf("%i:", packet[p].dest);
           printf("%i:", packet[p].type);
           printf("%i\n", packet[p].port);
           p++;
       }
}

我正试着把它传给fprintf();因此:
void fWrite(void)
{
    char fileName[30] = { '\0' };
    printf("Please specify a filename: ");
    scanf("%s", fileName) ;
    FILE *txtFile;
    txtFile = fopen(fileName, "w");
    if (txtFile == NULL)
    {
        printf("Can't open file!");
        exit(1);
    }
    else fprintf(txtFile, dumpArray());
}

我正试图将dumpArray()的结果写入文件。
有没有人能看出我错在哪里并指出我的方向。

最佳答案

根据传入的流,可以重写dumparray以写入stdout或文本文件。
因此,您可以将所有printf调用更改为fprintf,并将流作为第一个参数传递。

关于c - 如何将函数传递到fprintf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10440523/

10-10 14:57