我在论坛上搜索了一下,但是没有找到解决这个问题的答案。看起来这是一个普遍存在的问题,但是提到的解决方案都不适用。
以下是我打开文件的代码:
#include <stdio.h>
#include <string.h>
void main() {
FILE *input;
char path[200];
printf("Enter the full file path and file name in the following format:"
"\nC:\\Users\\Username\\etc......\\filename.extension\n");
fgets(path, 200, stdin);
printf("%s",path);
input=fopen(path,"r");
if (input==NULL) {
perror("The following errors were encountered");
return(-1);
}
}
printf(%s, path)
可以正确地显示我想要打开的文件的路径和名称,但是 fopen
总是返回无效参数。我也尝试使用指向路径的指针在 fopen
中,但这总是导致程序崩溃。
path
变量会包含一个换行符(\n
)作为结尾... - isedevvoid
的函数中使用return VALUE
,如果我没记错的话,足以导致编译器直接拒绝程序。(我在这台电脑上没有我的标准副本。) - zwolmain
正确声明为返回int
,也不应该返回负值,因为这些值是保留给操作系统的。如果没有充分的理由去做其他事情,应该使用#include <stdlib.h>
并返回EXIT_SUCCESS
或EXIT_FAILURE
(在其中定义为0和1)。 - 5gon12ederEXIT_SUCCESS
和EXIT_FAILURE
并没有规定要具有特定的值。然而,从main
函数返回数字零所产生的效果必须与返回EXIT_SUCCESS
相同! - zwol