C++ 输入字符串

1、cin>>

在输入一个数字或字符时可以直接使用

输入字符串方式一:

遇“空格”、“Tab”、“回车”都结束

void Cin2()        
{
    char arr[20];
    cin >> arr;
    cout << "arr: " << arr << endl;
}

#include<string>
string str;
cin>>str;

2、cin.get(字符变量名)

cin.get(字符变量名)用于接收单个字符

void Cinget1()    
{
    char ch;
    ch = cin.get();
    cout << "ch = " << ch << endl;
}

输入字符串方式二:

cin.get(字符数组名,接收字符数)

可用来接收一行字符串,可接收空格,自动接收一个 ‘’

void Cinget2()    
{
    char str[20] = { 0 };
    cin.get(str, 20);    //类似于 getline
    cout << "str: " << str << endl;
}

可以用cin.get(无参数)舍弃输入流中不需要的字符,或者舍弃回车

void Cinget3()    
{
    char str[20] = { 0 };
    cin.get(str, 20);
    cin.get();    //用于吃掉回车,相当于 getchar()
    cout << "str: " << str << endl;

    cin.get(str, 5);
    cout << "str: " << str << endl;
}

输入字符串方式三:

cin.getline()

接收一个字符串,可以接收空格并输出,自动接收一个 ‘’

void Cingetline1()
{
    char arr[20] = { 0 };
    cin.getline(arr, 5);
    cout << "arr: "  << arr << endl;
}

 另外,getchar()用于接收一个字符,需包含 #include <string>

void Getchar()
{
    char ch;
    ch = getchar();    //不能写成 getchar(ch)
    cout << "ch = " << ch << endl;
}

 输入字符串方式四:

getline()

接收一个字符串,可以接收空格并输出,需包含头文件 #include <string>,和 cin.getline() 类似,

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

void Getline()
{
    string str;
    getline(cin, str);
    cout << "str = " << str << endl;
}

 输入字符串方式五:(C语言)

gets()

接收一个字符串,可以接收空格并输出,需包含 #include <string>

void Gets()
{
    char arr[20] = { 0 };
     gets(arr);        //不能写成 arr = gets()
    cout << arr << endl;
}
原文地址:https://www.cnblogs.com/juanjuanduang/p/11715101.html