{charstr1;charstr2; str1 =cin.get();//读取单个字符,在屏幕输入str2 =cin.get();cout<< str1 << str2 <<endl;//输出刚刚载入的单个字符system("pause");//进行暂停,否则会一闪而过return0; } 运行程序后: 输入:abcd 输出:ab 既然get()是读取第一个字符,那str2为什么不也是a呢? 原理如下: ...
cin>>str1; cin>>str2; cout<<str1<<endl; cout<<str2<<endl; return 0; } 测试一输入: abcd[Enter] efgh[Enter] 输出: abcd efgh 【分析】输入遇到回车符结束,很正常。 测试二输入: abcd efgh 输出: abcd efgh 【分析】第一次读取字符串时遇到空格则停止了,将abcd读入str1,并舍弃了空格,将后...
int main() 1. { 1. char str1[10], str2[10]; 1. cin>>str1; 1. cin>>str2; 1. cout<<str1<<endl; 1. cout<<str2<<endl; 1. return 0; 1. } 1. 测试: abcd efgh 输出: abcd efgh 【分析】第一次读取字符串时遇到空格则停止了,将abcd读入str1,并舍弃了空格,将后面的字符串给...
intmain{charstr1[20]={NULL},str2[20]={NULL};cin.getline(str1,5);cin.clear;// 清除错误标志cin.ignore(numeric_limits<std::streamsize>::max,'n');// 清除缓冲区的当前行cin.getline(str2,20);cout<<"str1:"<<str1<<endl;cout<<"str2:"<<str2<<endl;return0;} 程序输入:12345[回车]...
string str; cin>>a>>b>>c>>str; cout<<a<<" "<<b<<" "<<c<<" "<<str<<endl; string test; getline(cin,test);//不阻塞 cout<<"test:"<<test<<endl; system("pause"); return 0; } 1. 2. 3. 4. 5. 6. 7. 8.
cin>>str1; cin>>str2; cout<<str1<<endl; cout<<str2<<endl; return0; }测试一输入:abcd[Enter]efgh[Enter]输出:abcdefgh【分析】输入遇到回车符结束,很正常。测试二输入:abcd efgh输出:abcdefgh【分析】第一次读取字符串时遇到空格则停止了,将abcd读入str1,并舍弃了空格,将后面的字符串给了第二个...
程序2: #include <iostream> using namespace std; int main() { char str[8]; cin.getline(str, 5); cout<<str<<endl; cin.getline(str, 5); cout<<str<<endl; return 0; } 程序的功能很简单,就是输入一个字符串再输出,再次输入一个字符串输出。程序执行情况: ...
std::cin >> str1; std::getline(std::cin, str2); 第二个调用将只处理换行符,你将没有机会输入任何输入。 相反,如果你计划在 operator >> 之后使用 getline ,你可以在拨打 getline 之前拨打 std::cin.ignore() 吃新行。 编辑:它可以按照您的预期运行 ...
06 string str1, str2; 07 getline(cin, str1); 08 cin >> str2; 09 cout << str1 << endl << str2 << endl; 10 return 0; 11 } 输入: abc abc 结果: abc abc 五、缓冲区 由于调用系统函数在屏幕上逐个显示字符是很慢的,因此cin/cout为了加快速度使用缓冲区技术,粗略的讲就是暂时不输出指...
char str1[10];你就给了10个字符。cin.getline(str1,10); 这句,你赋值的时候也是给了10个字符,只能输入9个字符,最后还有一个结束字符'\0'。