我正在尝试使用以下C代码打印出我传入的数组。它应该以十六进制格式在每一行上输出文本,并且我打开文件没有问题。当我第一次写它的时候,我没有任何问题,我打开了输出文件,数组就在那里。我更改了fileOutName参数,现在无法打印出我尝试将其更改回其他内容的任何内容,但似乎没有任何效果。另外,当我调试时,pOutfile似乎是一个错误的指针,但是就像我说的那样,它仍然会创建文件,只是不会在其中写入任何内容。任何帮助,将不胜感激。谢谢

printoutput(int output[], char * fileOutName){
    int i = 0;
    FILE * pOutfile;
    pOutfile = fopen( fileOutName, "w" );
    while(output[i] != 0){
        fprintf( pOutfile, "0x%0.4X\n", output[i] );
        i++;
    }
}

最佳答案

一定要自己清理。您缺少fclose(pOutfile)

08-17 15:09