char szString[10];
想把szString强制转化为大写。如何办?难道要利用toupper()函数一个个字符一个字符的循环转换么?for (int n = 0; n<10 ; n++)
{
szString[n] = toupper(szString[n]);
}
想把szString强制转化为大写。如何办?难道要利用toupper()函数一个个字符一个字符的循环转换么?for (int n = 0; n<10 ; n++)
{
szString[n] = toupper(szString[n]);
}
char *str
);
wchar_t *_wcsupr(
wchar_t *str
);
unsigned char *_mbsupr(
unsigned char *str
);
char *_strupr_l(
char *str,
_locale_t locale
);
wchar_t *_wcsupr_l(
wchar_t *str,
_locale_t locale
);
unsigned char *_mbsupr_l(
unsigned char *str,
_locale_t locale
);
template <size_t size>
char *_strupr(
char (&str)[size]
); // C++ only
template <size_t size>
wchar_t *_wcsupr(
wchar_t (&str)[size]
); // C++ only
template <size_t size>
unsigned char *_mbsupr(
unsigned char (&str)[size]
); // C++ only
template <size_t size>
char *_strupr_l(
char (&str)[size],
_locale_t locale
); // C++ only
template <size_t size>
wchar_t *_wcsupr_l(
wchar_t (&str)[size],
_locale_t locale
); // C++ only
template <size_t size>
unsigned char *_mbsupr_l(
unsigned char (&str)[size],
_locale_t locale
); // C++ only
string strToUpper;
是不是就不能使用这个函数了?
strToUpper = _strupr(strToUpper.c_str()); // 这样可以么?
看MSDN好像执行的是REPLACEMENT方法。是不是就不能操作string类型的字符串呢?应该不安全吧。
Each of these functions returns a pointer to the converted string. Because the modification is done in place, the pointer returned is the same as the pointer passed as the input argument. No return value is reserved to indicate an error.
#include <string>
using namespace std;string str = "hello,World!";
transform(str.begin(), str.end(), str.begin(), toupper);
{
char *p=psz;
while(*p)
{
if(*p < 0)
{
p += 2;
continue;
}
if(*p >= 'a' && *p <= 'z') *p &= 0x5F;
p++;
}
return psz;
}