C++ Can';我找不到图珀,也擦不掉

C++ Can';我找不到图珀,也擦不掉,c++,C++,所以,我一直在做Reddit,不能使用std::toupper和std::erase 包括: #include <iostream> #include <string> #include <cctype> 是什么引起的?提前谢谢 不是 std::touppper 但是 您需要向函数传递区域设置,请参见示例:Not std::touppper 但是 您需要将区域设置传递给函数,例如,请参见:std::touppper不存在,因为它的拼写是两个p,而不是三个

所以,我一直在做Reddit,不能使用std::toupper和std::erase

包括:

#include <iostream>
#include <string>
#include <cctype>
是什么引起的?提前谢谢

不是

std::touppper
但是

您需要向函数传递区域设置,请参见示例:

Not

std::touppper
但是


您需要将区域设置传递给函数,例如,请参见:

std::touppper
不存在,因为它的拼写是两个
p
,而不是三个:)
std::erase
不是一个标准函数,请检查此项:

std::touppper
不存在,因为它拼写为两个
p
,而不是三个:)
std::erase
不是标准函数,请选中此项:

您可能希望使用
std::toupper()
作为实现的基础。但是,请注意,
std::toupper()
将其参数设置为
int
,并要求参数为
EOF
的正值。将负值传递给单参数版本的
std::toupper()
将导致未定义的行为。在
char
有符号的平台上,您很容易得到负值,例如,当使用ISO-Latin-1编码和我的第二个名字时。规范的方法是将
std::toupper()
char
转换为
unsigned char

tekstr[0] = std::toupper(static_cast<unsigned char>(tekstr[0]));

请注意,如果字符串以空格结尾,则在去掉最后一个空格后,您不希望访问索引
i
处的字符

您可能希望使用
std::toupper()
作为实现的基础。但是,请注意,
std::toupper()
将其参数设置为
int
,并要求参数为
EOF
的正值。将负值传递给单参数版本的
std::toupper()
将导致未定义的行为。在
char
有符号的平台上,您很容易得到负值,例如,当使用ISO-Latin-1编码和我的第二个名字时。规范的方法是将
std::toupper()
char
转换为
unsigned char

tekstr[0] = std::toupper(static_cast<unsigned char>(tekstr[0]));

请注意,如果字符串以空格结尾,则在去掉最后一个空格后,您不希望访问索引
i
处的字符

这两个函数都不是标准函数…@chris你没有指定编译器,但在MSVC中你需要包含@H2CO3:你发布的链接是到
toupper
(有两个
p
s),而chris在这里评论了问题中的一个,即
toupper
(3
p
s)。海报的版本实际上不是
std
名称空间的一部分。这两个都不是标准函数…@chris你没有指定编译器,但在MSVC中你需要包含
@H2CO3:你发布的链接是指向
toupper
(有两个
p
),而chris在这里评论了问题中的一个,这是
touppper
(3
p
s)。海报的版本实际上不属于
std
名称空间..哦,上帝,谢谢你为我这样的noob抽出时间:)@user2974775这个错误可能发生在任何人身上,不要评判你自己:)哦,上帝,谢谢你为我这样的noob抽出时间:)@user2974775这个错误可能发生在任何人身上,不要评判你自己:)
tekstr[0] = std::toupper(static_cast<unsigned char>(tekstr[0]));
tekstr.erase(i);