我正在编写一个能够获取命令行参数的程序。 基本上,用户必须能够在调用程序时通过命令提示符指定文件名。即程序应该能够接受如下参数: doCalculation -myOutputfile.txt。 doCalculation是我的程序的名称,myOutputfile是我希望我的结果写入的文件(即将我的计算结果输出到指定的文件名)。
到目前为止,我可以通过命令提示符调用我的函数。我不知道如何让我的程序写入指定的文件名(或者如果它已经不存在则创建该文件)。
我的代码如下:
int main(int argc, char *argv[])
{
FILE* outputFile;
char filename;
// this is to make sure the code works
int i = 0;
for (i = 0; i < argc; i++) {
printf("argv[%d] = %s\n", i, argv[i]);
}
//open the specified file
filename= argv[i];
outputFile = fopen("filename", "r");
//write to file
fclose(outputFile);
}
答案 0 :(得分:0)
所以我注意到了几件事......
看看这段代码是否有助于解决您的问题,(我还在那里扔了一个fprintf()来向您展示如何写入文件)。 干杯!
int main(int argc, char *argv[])
{
FILE* outputFile;
char* filename;
// this is to make sure the code works
int i = 0;
for (i = 0; i < argc; i++) {
printf("argv[%d] = %s\n", i, argv[i]);
}
//saftey check
if(argv[1])
{
filename = argv[1];
//open the specified file
outputFile = fopen(filename, "w");
fprintf(outputFile, "blah blah");
//write to file
fclose(outputFile );
}
return 0;
}