您知道stdin
由 指定的常見stdio成語,例如文件名「 - 」C++:將cin分配給ifstream變量?
if ((strcmp(fname, "-"))
fp = fopen(fname);
else
fp = stdin;
做什麼用的ifstream
情況下做到這一點的最好方法是什麼?我收到 一些代碼有一個ifstream
作爲一個階級的一部分,我會 想補充代碼做相當於是這樣的:
if (filename == "-")
logstream = cin; // **how do I do this*?*
else
logstream.open(filename.c_str());
謝謝...這隻需要可移植到linux和osx,所以/ dev/stdin就是這樣! (嘆氣) – 2010-02-04 00:15:51
這說明了沒有人坐下來,並製作了一半體面的C++庫。 (如果它沒有太多的版本問題,我會說boost) – 2012-01-05 18:17:10
FWIW,用C++ 11而不是將'noop()'傳遞給'reset'(並定義結構),一個簡單的(和有趣的) '[](...){}'做到了。 – akim 2013-09-27 09:30:13