如何在输入存在时读取输入?

时间:2014-05-17 08:47:08

标签: c++ scanf eof

#define _CRT_SECURE_NO_WARNINGS
#include <cmath>
#include <cstdio>
#include <string>
int main(){
    char s = ' ';
    while (s != NULL)
    {
        scanf ("%c", &s);
        int a = 0;
            if (s == '"')
            {
                if (a == 0) printf("``");
                    else printf("''");
                a = 1- a;

            }
            else
                printf("%c", s);
    }
    return 0;
}

这是我的代码,我是C ++的新手,我是为uva.onlinejudge.org写的。输入是一些我们不知道它的大小的文本。我想知道如何在存在的情况下获取输入(我试过s!= NULL但是程序没有停止并且永远获得最后一个字符)

1 个答案:

答案 0 :(得分:1)

#include <iostream>

// ...

while ( std::cin.get(s) )
{
    // your code goes here
}

现有代码中的BTW,scanf应为std::scanf等。标准函数都在std::命名空间中,可能也可能不在全局命名空间中找到