"while(c = getchar())"相当于c ++

Jim*_*lty 1 c++ loops input char

是否存在某种使用c ++ iostream库的惯用表达式,类似于

while (c = getchar())
Run Code Online (Sandbox Code Playgroud)

c中的成语?

注意:我将语句简单地留在"c = getchar()"以允许它更通用.在实际代码中,我会将其结果与其他内容(如EOF或换行符)进行比较.

and*_*dre 9

#include <iostream>

int main() {
    char c;
    std::cin >> std::noskipws;
    while(std::cin >> c) {
        std::cout << c << std::endl;
    }
}
Run Code Online (Sandbox Code Playgroud)


Nik*_* C. 6

与getchar()最接近的是std :: istream :: get():

while ((c = std::cin.get()))
Run Code Online (Sandbox Code Playgroud)

注意双括号; 这些用于避免编译器警告使用=而不是==在循环条件中.