scanf在c++中的表示是什么
What is the representation of scanf in c++
我是C++的初学者,我想知道scanf("%c",&c)在C++中,有人能告诉我如何用C++编写enter code here
语句吗??
scanf("%c", &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的评论)
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;
}
相关文章:
- 在C++中,将无符号整数转换为八进制表示,反之亦然的最佳方法是什么
- C++中抽象语法树最常用的表示法是什么
- 在 C++17 中表示 std::byte 文字的正确方法是什么?
- 此代码的 Big-O 表示法是什么?
- 在C++中将数据结构表示为字符串的首选方法是什么?
- 表示图像矩阵的理想数据结构是什么?
- 在 C++11 中表示日内时间 HH:MM:SS 的最佳方法是什么?
- 与类型的二进制表示相关的技术词是什么?
- 这段代码的 Big-O 表示法是什么
- scanf在c++中的表示是什么
- Qt类型的标准文本表示是什么?
- 使用大括号(即{})表示单行if或循环的目的是什么?
- 移动构造函数相对于复制构造函数的优势是什么?复制构造函数使用bool来表示是复制还是移动
- U0.8、U4.8、U12.8、S0.4、S4.4、S12.4、U8.8等定点表示究竟是什么意思
- 确定 HWND 是否表示顶级窗口的最佳方法是什么?
- c++内部可以表示的0到1之间不舍入的最大和最小的数是什么?
- 表示文件路径的guid字符串是什么?
- 表示框的推荐类是什么?
- 在C++中,用十六进制或八进制表示的整型文字的默认类型是什么
- 将表示小数的 int 转换为双精度的正确方法是什么