如果我有方法
int main(int argc, char* argv[]) {
我的印象是,通过标准输入调用参数和接收数据有点相同。添加参数“1 2 3 4”和接收标准输入“5 6 7 8”之间有什么区别?什么时候你会选择一种方法而不是另一种?
答案 0 :(得分:1)
区别在于您如何访问它们。
可以通过argv
访问参数。标准输入可通过stdin
文件描述符访问。
案例1 - 命令行参数:
int i;
for (i=1; i < argc; i++) {
printf("%s", argv[i]); // Prints "1 2 3 4"
}
案例2 - 标准输入:
char buffer[121];
while (scanf("%120s", buffer) == 1) {
printf("%s", buffer); // Prints "5 6 7 8"
}