c++ - isblank() 无法识别

标签 c++ char ctype

看来 cctype 头文件的 isblank() 函数没有被 gcc 编译器识别。我使用代码块并得到:

错误:“isblank”未在此范围内声明

我检查了 gcc cctype header 并发现了以下几行:

   81 #ifdef __GXX_EXPERIMENTAL_CXX0X__
   82 
   83 #ifdef _GLIBCXX_USE_C99_CTYPE_TR1
   84 
   85 #undef isblank
   86 
   87 namespace std
   88 {
   89   using ::isblank;
   90 } // namespace std
   91 
   92 #endif // _GLIBCXX_USE_C99_CTYPE_TR1
   93 
   94 #endif // __GXX_EXPERIMENTAL_CXX0X__
   95 
   96 #endif

如何让 isblank() 工作?这些台词基本上是关于什么的?

更新

我的代码:

#include <iostream>
#include <cctype>

using namespace std;

int main()
{
    char ch;

    cout << "\n\n\n Enter a character:  ";
    cin >> ch;

    if (isblank(ch))
        cout << "\n blank characters.";

    cout << "\n\n\n";
}

代码块版本:16.01 来自 TDM-GCC(版本 4.9.2,32 位,SJLJ)的 GCC/G++ 编译器和 GDB 调试器。

最佳答案

好的,

谢谢大家

我通过清除选中的编译器标志让它工作:

设置 -> 编译器设置 -> 编译器标志 -> -std=c++14h

但是,我确信这会影响其他一些程序。我记得我设置了这个标志,因为如果没有它,其他一些功能将无法工作。

使用其他编译器是另一种选择,如 MinGW64 或 MSVC++ 等评论中所述。

link阅读可能会有用:

再次感谢。

关于c++ - isblank() 无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42887101/

相关文章:

c++ - ctype、字符串和容器

c++ - 解决基模板类成员的歧义

c++ - 在 C++ 中使用运算符删除的段错误

python - numpy 字符数组到字符串

c++ - [性能]--- string::operator+= vs. vector<char> push_back

casting - VB.NET 中 CType 的 C# 等效项是什么?

c++ - 引用C++宏中的类

c++ - 从 QWidget 中的 QTextEdit 获取文本

C -- 使用循环和索引填充 char * --- 不工作

c - 如何让 atoi 在我的 ADS 项目中工作?