我是C的新手,使用命令提示符和GCC来编译和运行我的程序是全新的。我正在努力找到正确的话来正确地提出这个问题所以请耐心等待我,我正在尽我所能。
我需要使用GCC来编译和运行这个C程序,但是我收到一个我不理解的错误。在这个示例程序中,我被告知使用这些行来编译和运行代码:
$ gcc -Wall -std=c99 -o anagrams anagrams.c
$ ./anagrams dictionary1.txt output1.txt
这就是我所做的。 GCC会编译程序文件,因此第一行不会给我任何错误。但GCC不喜欢第二行,如下所示:
C:\Users\...\Example>gcc -Wall -std=c99 -o anagrams anagrams.c
C:\Users\...\Example>./anagrams dictionary1.txt output1.txt
'.' is not recognized as an internal or external command,
operable program or batch file.
我看到的每个地方,都说使用“./filename”来编译后运行程序,所以我不明白为什么它不适合我。任何帮助或建议都会非常感激。
此外,这是程序的main(),以显示为什么需要这两个.txt文件:
int main(int argc, char *argv[])
{
AryElement *ary;
int aryLen;
if (argc != 3) {
printf("Wrong number of arguments to program.\n");
printf("Usage: ./anagrams infile outfile\n");
exit(EXIT_FAILURE);
}
char *inFile = argv[1];
char *outFile = argv[2];
ary = buildAnagramArray(inFile,&aryLen);
printAnagramArray(outFile,ary,aryLen);
freeAnagramArray(ary,aryLen);
return EXIT_SUCCESS;
}
答案 0 :(得分:5)
''不被视为内部或外部命令
这不是GCC错误。尝试运行命令时,shell会发出错误。
在Windows上
./anagrams dictionary1.txt output1.txt
应该是
.\anagrams dictionary1.txt output1.txt
在Windows上,路径分隔符为\
,与IX'系统相对,/
。
在两个系统上.
表示当前目录。
您在评论中提到的崩溃的原因并非从您显示的最小来源中显而易见。这也是一个不同的问题。