C++ Can';我找不到图珀,也擦不掉
所以,我一直在做Reddit,不能使用std::toupper和std::erase 包括:C++ Can';我找不到图珀,也擦不掉,c++,C++,所以,我一直在做Reddit,不能使用std::toupper和std::erase 包括: #include <iostream> #include <string> #include <cctype> 是什么引起的?提前谢谢 不是 std::touppper 但是 您需要向函数传递区域设置,请参见示例:Not std::touppper 但是 您需要将区域设置传递给函数,例如,请参见:std::touppper不存在,因为它的拼写是两个p,而不是三个
#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
(3p
s)。海报的版本实际上不是std
名称空间的一部分。这两个都不是标准函数…@chris你没有指定编译器,但在MSVC中你需要包含@H2CO3:你发布的链接是指向toupper
(有两个p
),而chris在这里评论了问题中的一个,这是touppper
(3p
s)。海报的版本实际上不属于std
名称空间..哦,上帝,谢谢你为我这样的noob抽出时间:)@user2974775这个错误可能发生在任何人身上,不要评判你自己:)哦,上帝,谢谢你为我这样的noob抽出时间:)@user2974775这个错误可能发生在任何人身上,不要评判你自己:)
tekstr[0] = std::toupper(static_cast<unsigned char>(tekstr[0]));
tekstr.erase(i);