【问题标题】:How to compare an array of strings in C++如何在 C++ 中比较字符串数组
【发布时间】:2019-03-25 16:38:52
【问题描述】:

我正在尝试在我的程序中比较两个字符串,以便我可以按字典顺序排列它们。我不允许像这样声明数组:string arr[10],而是必须像这样声明它:char arr[10][20],其中[10] 表示字符串的数量,[20] 表示每个字符串的大小。

为了比较两个字符串,我尝试使用类似:arr[5]>arr[7],但它不起作用。有什么想法吗?

【问题讨论】:

  • 什么是“旧版 C++”? Afaik 从来没有没有std::string 的正式版本。请提供minimal reproducible example
  • 答案是strcmp(arr[5], arr[7]) > 0
  • OP 已澄清禁止 std::string 不是因为不支持 std::string - 这是出于教学原因。
  • 如果这是 Turbo C++,请添加该标签。然后,char 数组(和指向 char 缓冲区的指针)就是所谓的 C 字符串。使用 C 字符串比较函数进行比较。谷歌“比较 C 中的字符串”之类的。
  • @Sujit 强烈建议:不要使用比你更老的工具。 Turbo C 已经完全过时了。今天有更好的选择。

标签: c++ turbo-c++


【解决方案1】:

https://www.techonthenet.com/c_language/standard_library_functions/string_h/strcmp.php

strcmp() 应该可以解决问题

由于您仅限于 char 数组而不是字符串文字,请查看 C 文档而不是 C++ 文档。我假设你是一名学生,因为我有同样的限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-17
    • 2014-11-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    相关资源
    最近更新 更多