ISSPACE和替换()的问题
issues with isspace and replace()
我正在尝试编写一个程序,该程序将读取2个字符的用户输入的字符串,"密码",然后用" __"替换任何空间。我只能在密码初始化和COUT之间编辑空间。当前,当用户输入" 1"时,它应该打印出" 1_",但再次打印出" 1"。这两个如果语句应该在字符串中分别查看每个字符,并且如果它是一个空间,则应该用下划线替换该空间。但是,它似乎行不通。我无法分辨是否是因为我需要其他陈述,但是我不知道它需要什么。如果字符串中有任何空间,则无需完成。
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main() {
string passCode;
passCode = "1 ";
if (isspace(passCode.at(0)) == true){
passCode.replace(0, 1, "_");
}
if (isspace(passCode.at(1)) == true){
passCode.replace(1, 1, "_");
}
cout << passCode << endl;
return 0;
}
这是因为isspace
不返回bool
,它返回int
:
返回值
一个与零不同的值(即true),如果确实C是白空间字符。零(即false)否则。
如果删除== true
零件,则您的代码将按预期工作:
if (isspace(passCode.at(0))){
passCode.replace(0, 1, "_");
}
if (isspace(passCode.at(1))){
passCode.replace(1, 1, "_");
}
演示。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 模板参数替换失败,并且未完成隐式转换
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 关于读取有效 c++ 第 4 项(将非局部静态变量替换为局部静态变量)的问题
- C++20 - 模板参数推导/替换问题
- 字符串替换问题
- ISSPACE和替换()的问题
- 替换失败不是static_cast的错误(SFINAE)问题
- 用std::tr1::bind替换boost::bind出现问题