Advertisement

多行字输入字符串处理与空格分割一行字符串 C++ 2021-09-01

阅读量:

1、多行字输入字符串的处理

在处理包含空格的字符串输入时,需要使用getline函数来从流中读取整行内容。

编程题目通常的输入方式为:

1、首先输入字符串的行数,

2、随后逐行读取各个字符串。

问题在于,若按照常规顺序编写代码,会发现第一行读取的字符串为空,只有后续输入才能正常获取每行内容。

原因在于,在输入第一个int类型数据后,换行符未被清除,而该换行符被后续准备读取第一行字符串的getline函数所捕获。

解决方法是在输入int类型数据后,在首次调用getline()函数之前,使用cin.ignore()函数忽略掉流中的一个字符(通常是换行符),从而将其丢弃。

复制代码
       int N;
       cin>>N;
       cin.ignore();  //取消换行键的读入
       
       string strCinLine[N];
       for(int i =0;i<N;i++)
       getline(cin,strCinLine[i]);
    
    
    
      
      
      
      
      
      
      
      
    

2、空格分割一行字符串

将文本以空格作为分割标准,逐一分割为多个独立的字符串

复制代码

全部评论 (0)

还没有任何评论哟~