天天看點

C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

C++輸入字元串的幾種方法

  • cin
  • cin.get()
  • cin.getline()
  • getline()
  • gets()
  • getchar()

C++中的字元串輸入方式有:

1.cin >> 
2.cin.get()
3.cin.getline()
4.getline()
5.gets()
6.getchar()
           

cin

第一種用法是逐個輸入數字或者字元,中間用空格隔開。這是最基本的。

第二種用法是讀入一個字元串,遇到”空格、“TAB”、“回車”都會結束,例如:

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string s;
	cin >> s;
	cout << s;
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

cin.get()

用法1:cin.get(字元變量名)可以用來接受字元

#include<iostream>
#include<string>
using namespace std;
int main()
{
	char ch;
	cin.get(ch);//或者ch = cin.get(); 
	cout << ch << endl;//隻能輸出一個字元 
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

用法2:cin.get(字元數組名,接受字元數目)用來接收一行字元串,可以接收空格

#include<iostream>
using namespace std;
int main()
{
	char s[50];
	cin.get(s, 20);//可以輸入多個單詞,中間空格隔開,空格也計算在内
	cout << s << endl; 
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

用法3:cin.get(無參數),無參數主要用于收納輸入流中的不需要的字元,或者收納回車,彌補cin.get(字元數字名,接收字元數目)的不足。

cin.getline()

用法1:接收一個字元串,可以接受空格并輸出

#include<iostream>
using namespace std;
int main()
{
	char s[25];
	cin.getline(s,15);
	cout << s << endl;	
	
	return 0;
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

用法2:cin.getline(接受字元串到n, 接收個數6,結束字元)

#include<iostream>
using namespace std;
int main()
{
	char s[25];
	cin.getline(s,25,'n');
	cout << s << endl;	
	
	return 0;
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

用法3:cin.getline(s[i], n)

應用于二維數組中
#include<iostream>
using namespace std;
int main()
{
	char s[25][45];
	for(int i = 0; i < 3 ; i++ )
	{
		cout << "請輸入第" << i + 1 << "個字元串" << endl;
		cin.getline(s[i],8);
	}
	cout << endl;
	
	for(int i = 0; i < 3; i ++ )
	cout << "輸出s[" << i << "]的值:" << s[i] <<endl;
	
	return 0;
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

getline()

接收一個字元串,可以接受空格并輸出,在頭檔案< string >中

#include<iostream>
using namespace std;
int main()
{
	string s;
	getline(cin, s);
	
	cout << s;
	
	return 0;
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

gets()

用法1:

接受一個字元串,可以接受空格并輸出
#include<iostream>
using namespace std;
int main()
{
	char s[50];
	gets(s);//輸入什麼,輸出什麼 
	cout << s << endl; 
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

用法2:類似于上面getline()中的多元數組

#include<iostream>
using namespace std;
int main()
{
	char s[25][45];
	for(int i = 0; i < 3 ; i++ )
	{
		cout << "請輸入第" << i + 1 << "個字元串" << endl;
		gets(s[i]);
	}
	cout << endl;
	
	for(int i = 0; i < 3; i ++ )
	cout << "輸出s[" << i << "]的值:" << s[i] <<endl;
	
	return 0;
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

getchar()

接收一個字元
#include<iostream>
using namespace std;
int main()
{
	char ch;
	ch = getchar();//不能寫作getchar(ch)
	cout << ch << endl; 
	
	return 0;
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

循環輸入時,作為判斷條件

#include<iostream>
using namespace std;
int main()
{
	char ch;
	while((ch = getchar()) != '\n')
	{
		cout << ch;
	}
	
	return 0;
}
           
C++中輸入字元串的幾種方法cincin.get()cin.getline()getline()gets()getchar()

在字元串這比較暈的,可以了解了解~~~

繼續閱讀