scanf在c++中的表示是什么

What is the representation of scanf in c++

本文关键字:表示 是什么 c++ scanf      更新时间:2023-10-16

我是C++的初学者,我想知道scanf("%c",&c)在C++中,有人能告诉我如何用C++编写enter code here语句吗??

scanf("%c", &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的评论)

scanf("%c",&c)的等价物是c = cin.get();

对于编写语句,可以使用cout,例如cout << "enter code here";

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