cin与scanf的区别

来源:互联网 发布:淘宝发货时间怎么看 编辑:程序博客网 时间:2024/05/29 14:17

scanf是格式化输入,printf是格式化输出

cin是输入流,cout是输出流。虽然其效率低,但是使用起来比较方便。

下面一个例子就说明了特别是在字符串处理时,流输入对格式化输入的优势。

输入数据:CDU + FDP + SPD + DIELINKE = 70

scanf源码如下:

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define MAXN 1010char str[MAXN];int main() {    while (~scanf("%s", &str)) {        printf("%s\n", str);    }    return 0;}
运行结果如下:

cin源码如下:

#include<cstdio>#include<cstring>#include<iostream>#include<string>#include<map>#include<algorithm>using namespace std;map<string, int> mp;int main() {    string str;    while (cin >> str) {        mp[str] = str.length();        cout << str << " " << mp[str] << endl;    }    return 0;}
运行效果如下:




0 0