C++疑问

来源:互联网 发布:淘宝钱夫人雪梨 编辑:程序博客网 时间:2024/05/29 19:54
一、
不正常:
string str;
  cout << "Please enter full name: ";
  getline (cin,str);
  cout << "Thank you, " << str << ".\n";
  cout << "Please enter full name1: ";
  getline (cin,str);
  cout << "Thank you1, " << str << ".\n";
return 0;


正常:
 string str;
  cout << "Please enter full name: ";
  getline (cin,str,' ');
  cout << "Thank you, " << str << ".\n";
  cout << "Please enter full name1: ";
  getline (cin,str,' ');
  cout << "Thank you1, " << str << ".\n";

代码来源网址:
http://www.prglab.com/cms/pages/c-tutorial/c-basics/console.php



二、C++reference :
http://www.cplusplus.com/reference/istream/istream/getline/

istream& getline (char* s, streamsize n );istream& getline (char* s, streamsize n, char delim );
Get line from stream
Extracts characters from the input sequence and stores them as a c-string into the array beginning at s.

Characters are extracted until either (n - 1) characters have been extracted or the delimiting character is found (which is delim if this parameter is specified, or '\n' otherwise). The extraction also stops if the end of file is reached in the input sequence or if an error occurs during the input operation.

If the delimiter is found, it is extracted and discarded, i.e. it is not stored and the next input operation will begin after it. If you don't want this character to be extracted, you can use member get instead.

The ending null character that signals the end of a c-string is automatically appended to s after the data extracted.

The number of characters read by this function can be obtained by calling to the member function gcount.

A global function with the same name exists in header <string>. This global function provides a similar behavior, but with standard C++ string objects instead of c-strings: see getline (string).
原创粉丝点击