c++ - 将字符串转换为全部大写 - C++

标签 c++ string sorting

我无法将字符串转换为大写以按字母顺序排序。在第三组单词之后,我的程序实际上开始变慢并卡住。我做错了什么?

string iName = list[i]->GetLastName(); // This just returns a string of a name
string jName = list[j]->GetLastName();

for(unsigned int k = 0; k < iName.length(); k++)
  {
    iName[k] = toupper(iName[k]);
  }

for(unsigned int l = 0; l < jName.length(); l++)
  {
    iName[l] = toupper(jName[l]);
  }

最佳答案

使用STL算法库:

std::for_each(iName.begin(), iName.end(), std::toupper);

或(由 @Kerrek SB 建议)

std::transform(s.begin(), s.end(), s.begin(), std::toupper);

关于c++ - 将字符串转换为全部大写 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302797/

相关文章:

c++ - 如何在 C 中为二维数组动态分配内存以避免堆栈溢出问题?

java - 如何使用 Unicode 将日语和英语分开

python - 如何根据另一个列表对一个列表进行排序?

c# - 我有一个 c++ 代码需要翻译成 c#,几乎完成(我认为)但需要 P/Invoke 的帮助才能使用非托管 dll

c++ - 为什么在某些特定情况下拥有多个线程(并行处理)会降低性能?

C++ , winapi 比较两个 WCHAR * 字符串

c# - 如何按行对二维数组进行排序?

python - 将字符串文字中的双反斜杠替换为单反斜杠

PHP 和访问字符串就像关联数组

sorting - 需要异常排序算法