【发布时间】:2020-05-08 00:28:30
【问题描述】:
我正在尝试在cmd 中运行以下内容:
gcc my_mainFile
然后运行以下命令:
a.exe 2 < file.ppm
基本上,它的作用是查看值2,基于该值调用特定函数,并使用ppm 文件中的内容。但是,我不知道如何访问此文件本身。我需要使用scanf() 来读取文件,但我没有明确的格式。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if(*argv[1] - '0' == 2){
//Open and read contents of the file
}
}
【问题讨论】:
-
这能回答你的问题吗? How to read a file passed through stdin in C
-
如果您将文件重定向到程序中,则无需打开该文件。只需使用
read、fgets、scanf等输入函数之一将数据读入缓冲区或变量。你的问题是不知道如何调用这些函数还是不知道文件内容的格式? -
比起你的环形交叉路口
if(*argv[1] - '0' == 2,更常见的测试argv实际上只是if (argv[1][0] == '2')的方法... -
“修改这些值”到底是什么意思?在将它们写入屏幕之前修改它们?或者也在文件中修改它们,即改变文件内容?
-
我建议在使用
argv[]之前测试argc的值,以避免使用未提供的参数...