现在的位置: 首页 > 综合 > 正文

string类型和getline函数如何处理空白字符

2012年11月08日 ⁄ 综合 ⁄ 共 617字 ⁄ 字号 评论关闭

   string类型的输入操作符对空白字符的处理:

  •  读取并忽略有效字符(非空白字符)之前所有的空白字符(如空格、换行符、制表符);
  •  读取字符直至再次遇到空白字符,读取终止(该空白字符仍留在输入流中)。

       因此,如果输入到程序的是“    Hello  World!   ”(注意开头和结尾的空格),则屏幕上将输出“Hello”,而不含任何空格。

     下面的程序将从标准输入读取一组string对象,然后在标准输出上逐行输出:

1 int main()
2 { string word;
3   // read until end-of-file,writing each word to new line
4   while(cin>>word)
5        cout<<word<<endl;
6    return 0;
7 }

    如输入hello world,

   则输出为 :hello

                  world 

   getline函数对空白字符的处理:不忽略行开头的空白字符,读取字符直至遇到换行符,读取终止并丢弃换行符(换行符从输入流中去掉但并不存储在string对象中)。
   getline这个函数接受两个参数:一个输入流对象和一个string对象。
 

1 int main()
2 { string line;
3   //read line at time until end-of-file
4   while(getline(cin,line))
5        cout<<line<<endl;
6    return 0;
7 }

 

 

抱歉!评论已关闭.