测试换行

时间:2012-10-21 07:24:38

标签: c++ newline

我需要帮助测试换行符。在我的计划中我有

char s[9][9];
for(unsigned int i = 0; i < 9; i++)
{
  for(unsigned int j = 0; j < 9; j++)
  {
      cin >> s[i][j];
      if(s[i][j] == '\n')
      {
        cout << "ERROR" << endl;
      }
  }
}

如何获取它以便2-d char数组可以检测是否有换行符?我的程序似乎只是跳过if语句。如果可能的话,我宁愿不使用getline或任何东西。

2 个答案:

答案 0 :(得分:3)

您可以使用noskipws标志

cin >> noskipws >> s[i][j]; 

cin.get ();方法:

s[i][j] = cin.get ();

答案 1 :(得分:0)

这就是诀窍。

#include "iostream"
using namespace std;

int main()
{
    int count = 0;
    char s[9][9];
    for(unsigned int i = 0; i < 9; i++)
    {
      for(unsigned int j = 0; j < 9; j++)
      {
        cin >> noskipws >>s[i][j];
        count++;
          if(s[i][j] == '\n' || count == 82)
          {
            cout << "ERROR" << endl;
          }
      }
    }
}