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; } |
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; } |
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; } |
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; } |
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; } |
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