重载运算符>>用于不区分大小写的字符串
Overloading operator>> for case insensitive string
给定 cpp.reference.com 中ci_string的定义,我们将如何实现运算符>>?我的尝试涉及 std::read,但它似乎不起作用(也就是说,gcount() 正确计算输入的字符数,但没有输出)
#include <iostream>
#include <cctype>
#include <string>
// ci_string definition goes here
std::istream& operator>>(std::istream& in, ci_string& str)
{
return in.read(&*str.begin(), 4);
}
int main()
{
ci_string test_str;
std::cin >> test_str;
std::cout << test_str;
return 0;
}
怎么样
std::istream& operator>>(std::istream& in, ci_string& str)
{
std::string tmp;
in >> tmp;
str.assign( tmp.begin(), tmp.end() );
return in;
}
相关文章:
- EASTL矢量<向量<int>>连续的
- 切换大小写后如何阻止变量重置?
- 无法找到简单的开关大小写枚举错误
- 仿射密码解密,输出大小写不同
- 编写宏函数来更改字符串的大小写?
- 使字母检查不区分大小写
- 如何执行不区分大小写的字符串比较?
- 函数中的切换大小写语句不会切换C++
- CMake 添加不区分大小写的源文件
- 如何在不同的开关大小写语句上使用对象的类成员函数?
- 如何以 if else 或切换大小写格式对自动和编码?
- 有没有一种方法可以忽略Qt c++中的文件名大小写敏感性?
- 标题与标准标题具有相同名称但大小写不同的问题
- Rand()大小写开关在多次迭代后运行到无穷大
- 在这种情况下,如何在基类中设计开关大小写函数
- 提升program_option配置文件的不区分大小写的解析
- 复数大小写中的C++运算符 ->
- 如何提升Perl正则表达式匹配,支持区分大小写/不区分大小写
- 无法在开关大小写中调用函数 - C++
- 对字符串向量进行排序,但不区分大小写