如何在文件中查找分号

How to find a semicolon in an infile

本文关键字:查找 文件      更新时间:2023-10-16

我有一个简单的程序,我正在尝试构建。 该程序应该从文本文件中读取字符,如何检查字符是空格还是分号?

  char car;
 char car2;
 inFile >> car;
 outFile << "HEADING" << endl;
 while (!car == ';')

以上似乎不适用于分号。

while (!car == ';')不是

你的意思。你的意思是while (car != ';'),或者,如果你坚持,while (!(car == ';'))

while ( car != ';' && car != ' ')
{
   //...
}

while ( inFile >> car && car != ';' && car != ' ')
{
   //...
}

或者,如果您需要检查许多字符,则可以使用在标头<cstring>中声明的标准 C 函数std::strchr

例如

const char *delimiters = "; ";
while ( !std::strchr( delimiters, car ) )
{
   //...
}

或者,如果您需要检查字符是分号,空格还是制表符,则可以编写以下循环

while ( car != ';' && !std::isblank( car ) )
{
   //...
}

函数std::isblank标头 <cctype> 中声明,并由符合 C++ 2011 的编译器支持。