毫无疑问,大家在c中都采用scanf来输入,在c++中采用cin输入,那么这两个到底有什么不同之处呢,以及如何在适当的时候选择合适的方法读入字符和字符串呢。
鉴于在VS中一些函数如scanf无法使用,改为更安全的scanf_s,所以本文的代码只在dev C++ 中运行。
一、字符串知识
首先我们来讲一下字符和字符串的基本知识。
在C语言中单个字符用char来定义,如果要定义字符串的话就用char a[]来定义一个字符数组,这种表示方法被称为C风格的字符串。它的特点是在字符数组的最后面有一个字符串结束符'\0'来表示字符串的结束。
在C++中,字符和C语言中一样,字符串的话大多用string s来 定义,相比于C风格的字符串有很多优点,而且更加安全,方便操作。
二、cin读入数据
cin读入数据遇到空格,换行之类的符号都会停止读入。所以读入的字符串中间不能有空格。
使用cin读字符较为简单,直接读入即可。
举个栗子:
#include <iostream>
using namespace std;
int main(){
char c;
cin >> c;
return 0;
}
三、scanf读入数据
scanf是C语言中的标准读入函数,在读取一些比较有规律的字符串时有很好的效果。
(1) 读入字符
#include <iost