<分区>
这个应该是编译成静态库做作业的。当我使用命令时:“gcc -c innoprompt.c inprompt.c”我收到警告,它指向“fin = openFilePrompt();”行来自 innoprompt.c。我看不出这将如何导致此警告。另外,当我用这个库链接编译实际程序时,我得到了同样的警告。由于任务的性质,我不能更改从库中调用函数的文件。
这是我的文件标题。
#pragma once
#ifndef LIBINFILEUTIL_H
#define LIBINFILEUTIL_H
#include <stdio.h>
FILE* openInputFile(char* fileName);
FILE* openInputFile();
#endif
这是我的inprompt.c #include "libinfileutil.h"
FILE* openFilePrompt(){
char fileName[100];
FILE* fin = NULL;
do{
printf("\nPlease enter file to be opened: ");
fscanf(stdin,"%s",fileName);
while(fgetc(stdin) !='\n');
fin = fopen(fileName, "r");
if(fin==NULL)
printf("Failed to open file. Please try another file name.\n");
}while(fin==NULL);
return fin;
}
最后,这是我的 innoprompt.c
#include "libinfileutil.h"
FILE* openInputFile(char* fileName){
FILE* fin = NULL;
fin = fopen(fileName, "r");
if(fin==NULL)
fin = openFilePrompt();
return fin;
}