什么是c ++中scanf的表示

时间:2013-12-30 08:34:15

标签: c++ c visual-c++ cin scanf


我是C ++的初学者,我想知道它的等效表示      的scanf( “%C”,和C) 在C ++中,有人请告诉我如何在c ++中编写此语句enter code here

3 个答案:

答案 0 :(得分:2)

C ++中scanf("%c", &c)的等效表示是scanf("%c", &c)。 C ++与大多数C语言完全兼容 - 您可以mallocscanfprintf等。

但是,如果你想要遵循C ++的真正精神,你应该以面向对象的方式来实现它:

#include <iostream>

int main(int argc, char * argv[])
{
    char c;
    std::cin >> c;

    return 0;
}

此解决方案的主要缺点是,如果您确实想知道std::cin >> c背后的内容,您必须学习自动类分配链式调用运算符重载

无论如何,抓住一本关于C ++的好书或精心编写的教程,其中涵盖了这种语言的基础知识,这在你的情况下似乎是件好事。通过在SO上询问有关此类基础知识的问题,您将学到很多东西。

有更多细节需要考虑:

  

std::cin>>c;不等同于scanf("%c", &c);operator>>会跳过前导空格,但scanf("%c"...不会,所以如果用户要输入s,则scanf调用会将' '读为c,但>>会将's'读为c。您可以使用noskipws操纵器来更改此设置,因此:std::cin >> std::noskipws >> c;将(至少更接近)等同于scanf调用。   (感谢 Jerry Coffin 评论)

答案 1 :(得分:1)

#include <iostream>

using namespace std; 
    int main(){
     int i;
      cout << "enter code here: ";
      cin >> i;
}

答案 2 :(得分:1)

相当于scanf("%c",&c)c = cin.get();

对于撰写陈述,您可以使用cout,例如cout << "enter code here";