首页 >后端开发 >C++ >如何在 C 中有效地分隔逗号分隔的字符串?

如何在 C 中有效地分隔逗号分隔的字符串?

Patricia Arquette
Patricia Arquette原创
2024-11-27 17:36:14276浏览

How Can I Efficiently Separate Comma-Delimited Strings in C  ?

使用 Stringstream 分隔逗号分隔的字符串

在提供的问题中,任务是将逗号分隔的字符串分隔为单独的标记。虽然 stringstream::operator 可以毫不费力地用空格分隔单词,但在处理逗号时却显得不够。

为了克服这一挑战,我们采用了一种修改后的方法:

#include <iostream>
#include <sstream>

int main() {
  std::string input = "abc,def,ghi";
  std::istringstream ss(input);
  std::string token;

  // Use getline to separate by commas
  while (std::getline(ss, token, ',')) {
    std::cout << token << '\n';
  }

  return 0;
}

在此修改后的代码:

  • 我们使用 std::getline 而不是 std::stringstream::operator>>。 getline 可以提取直到指定分隔符(在本例中为逗号)的子字符串。
  • 我们迭代输入流,直到找不到更多标记。
  • 对于每个标记,我们打印它在新行上。

输出准确地将输入字符串分成单独的标记:

abc
def
ghi

以上是如何在 C 中有效地分隔逗号分隔的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn