C++ 字符串输入总结

1、cin

注:接受一个字符串,遇“空格”、“TAB”、“回车”都结束

2、cin.get()

用法1、cin.get(字符变量名)可以用来接收字符

#include <iostream>
using namespace std;
void main ()
{
char ch;
ch=cin.get(); //或者cin.get(ch);只能获取一个字符
cout<<ch<<endl;
}
输入:jljkljkl
输出:j

用法2、cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格

#include <iostream>
using namespace std;
void main ()
{
char a[20];
cin.get(a,20); //有些类似getline。可以输入多个单词,中间空格隔开。
cout<<a<<endl;
}
输入:jkl jkl jkl
输出:jkl jkl jkl
输入:abcdeabcdeabcdeabcdeabcde (输入25个字符)
输出:abcdeabcdeabcdeabcd (接收19个字符+1'\0'

3、cin.getline()// 接受一个字符串,可以接收空格并输出

#include <iostream>
using namespace std;
void main ()
{
char m[20];
cin.getline(m,5); //与上面基本相同。
cout<<m<<endl;
}
输入:jkljkljkl
输出:jklj

4、getline() // 接受一个字符串,可以接收空格并输出,需包含“#include string”

#include<iostream>
#include<string>
using namespace std;
void main ()
{
string str;
getline(cin,str);
cout<<str<<endl;
}
输入:jkljkljkl //VC6中有个bug,需要输入两次回车。
输出:jkljkljkl
输入:jkl jfksldfj jklsjfl
输出:jkl jfksldfj jklsjfl

和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数

5、gets() // 接受一个字符串,可以接收空格并输出,需包含“#include string”

#include<iostream>
#include<string>
using namespace std;
main ()
{
char m[20];
gets(m); //不能写成m=gets();
cout<<m<<endl;
}
输入:jkljkljkl
输出:jkljkljkl
输入:jkl jkl jkl
输出:jkl jkl jkl

6、getchar() //接受一个字符,需包含“#include string”

#include<iostream>
using namespace std;
main ()
{
char ch;
ch=getchar(); //不能写成getchar(ch);
cout<<ch<<endl;
}
输入:jkljkljkl
输出:j

猜你喜欢

转载自blog.csdn.net/u013277456/article/details/79888046
今日推荐