PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] argc < 1是什么意思?(附100p)
楼主:
huhunhiaccc
(chchch)
2021-06-04 16:25:46
大家好
小弟想请问以下程式码的第三第四行
argc应该是命令列中参数的数目
不过至少也会有./a吧 这样就1个了
为什么argc会小于1 有什么其他用法呢
若第三行if成立了 那第四行的stdin又从哪来呢
还希望各位大大能帮小弟解惑 感激不敬
int main(int argc, char *argv[]) {
FILE* fin;
if (argc < 1) {
fin = stdin;
}
else {
~~~~~
}
}
作者:
nh60211as
2021-06-04 16:43:00
https://stackoverflow.com/a/58654146/11947017
然后你应该要加上#include <stdio.h>才会有FILE跟stdin的定义
https://en.cppreference.com/w/c/io/std_streams
^stdin 的介绍
楼主:
huhunhiaccc
(chchch)
2021-06-04 17:04:00
所以是1程式开启2程式的意思吗,fin=stdin,所以我要在2程式中将我要读的档案存到stdin中 是这个意思吗
作者:
nh60211as
2021-06-04 17:06:00
大概吧
楼主:
huhunhiaccc
(chchch)
2021-06-04 17:16:00
100p已发 感谢喔!
作者:
LPH66
(-6.2598534e+18f)
2021-06-04 19:00:00
不是"存到 stdin 中", 你讲反了stdin 是一个 FILE*, 对其使用 f 系列读档函式会从标准输入读取输入, 相对于 fopen 开档获得的 FILE* 是读取该档案然后, 既然是这种程式码我猜写的人搞错了你 ~~~~~ 省略的地方我猜有 fopen(argv[1], ...)那这样平常没参数时 argc == 1 就会坏掉了
楼主:
huhunhiaccc
(chchch)
2021-06-05 12:23:00
请问stdin一般不是用键盘输入吗@@如果用scanf可以吗
作者:
LPH66
(-6.2598534e+18f)
2021-06-05 22:47:00
这种写法就是想用一个函数吃两边设好之后只要对 fin 读档, 那不管来源在标准输入还是档案都可以用; 你当然可以用不带 f 的函数去读但就要写一堆 if
继续阅读
[问题] VS2008+OpenCV2.4.10+CUDA9.0
newslime
[问题] 可以用参考存取阵列元素吗(已解决)
icetofux
[问题] NachOS 4.0 安装
hsuan0430
[问题] 为什么 getline() 不加 endl 就没办法印出
hunandy14
[问题] C++ iter = map.earse(iter)的实作
worcdlo
[问题] buffer size
pilipalabon
[问题] MFC 出现暂存太小的问题
smvenjoy
[问题] C印出问题
ooww
Re: [问题] 为什么互为2的补数的两个数字,必定是相
a58524andy
Fw: [问题] 为什么互为2的补数的两个数字,必定是相
lueichun
Links
booklink
Contact Us: admin [ a t ] ucptt.com