我是C ++的初学者,我想知道它的等效表示
的scanf( “%C”,和C)
在C ++中,有人请告诉我如何在c ++中编写此语句enter code here
答案 0 :(得分:2)
C ++中scanf("%c", &c)
的等效表示是scanf("%c", &c)
。 C ++与大多数C语言完全兼容 - 您可以malloc
,scanf
,printf
等。
但是,如果你想要遵循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";