How to Take String Input in C++

String input means accepting a string from a user. In C++. We have different types of taking input from the user which depend on the string. The most common way is to take input with cin keyword with the extraction operator (>>) in C++. Methods to take a string as input are:

  • cin
  • getline
  • stringstream

1. Using Cin

The simplest way to take string input is to use the cin command along with the stream extraction operator (>>). 

Syntax:

cin>>s;

Example:

C++




// C++ Program to demonstrate string input using cin
#include <iostream>
using namespace std;
 
int main() {
 
      string s;
       
    cout<<"Enter String"<<endl;
      cin>>s;
   
      cout<<"String is: "<<s<<endl;
    return 0;
}


Output

Enter String
String is: 

Output:

Enter String
w3wiki
String is: w3wiki

2. Using getline 

The getline() function in C++ is used to read a string from an input stream. It is declared in the <string> header file.

Syntax:

getline(cin,s);

Example:

C++




// C++ Program to demonstrate use of getline function
#include <iostream>
using namespace std;
 
int main()
{
 
    string s;
    cout << "Enter String" << endl;
    getline(cin, s);
    cout << "String is: " << s << endl;
    return 0;
}


Output

Enter String
String is: 

Output:

Enter String
w3wiki
String is: w3wiki

3. Using stringstream

The stringstream class in C++ is used to take multiple strings as input at once. 

Syntax:

stringstream stringstream_object(string_name);

Example:

C++




// C++ Program to demonstrate use of stringstream object
#include <iostream>
#include <sstream>
#include<string>
 
using namespace std;
 
int main()
{
 
    string s = " w3wiki to the Moon ";
    stringstream obj(s);
    // string to store words individually
    string temp;
    // >> operator will read from the stringstream object
    while (obj >> temp) {
        cout << temp << endl;
    }
    return 0;
}


Output

w3wiki
to
the
Moon

Strings in C++

C++ strings are sequences of characters stored in a char array. Strings are used to store words and text. They are also used to store data, such as numbers and other types of information. Strings in C++ can be defined either using the std::string class or the C-style character arrays.

1. C Style Strings

These strings are stored as the plain old array of characters terminated by a null character ‘\0’. They are the type of strings that C++ inherited from C language.

Syntax:

char str[] = "w3wiki";

Example:

C++




// C++ Program to demonstrate strings
#include <iostream>
using namespace std;
 
int main()
{
 
    char s[] = "w3wiki";
    cout << s << endl;
    return 0;
}


Output

w3wiki

2. std::string Class

These are the new types of strings that are introduced in C++ as std::string class defined inside <string> header file. This provides many advantages over conventional C-style strings such as dynamic size, member functions, etc.

Syntax:

std::string str("w3wiki");

Example:

C++




// C++ program to create std::string objects
#include <iostream>
using namespace std;
 
int main()
{
 
    string str("w3wiki");
    cout << str;
    return 0;
}


Output

w3wiki

One more way we can make strings that have the same character repeating again and again.

Syntax:

std::string str(number,character);

Example:

C++




#include <iostream>
using namespace std;
 
int main()
{
    string str(5, 'g');
    cout << str;
    return 0;
}


Output:

ggggg

Similar Reads

Ways to Define a String in C++

...

How to Take String Input in C++

...

How to Pass Strings to Functions?

...

Pointers and Strings

Strings can be defined in several ways in C++. Strings can be accessed from the standard library using the string class. Character arrays can also be used to define strings. String provides a rich set of features, such as searching and manipulating, which are commonly used methods. Despite being less advanced than the string class, this method is still widely used, as it is more efficient and easier to use. Ways to define a string in C++ are:...

Difference between String and Character array in C++

...

C++ String Functions

...

Contact Us