首頁 >後端開發 >C++ >如何在 C 中有效地分隔逗號分隔的字串?

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

Patricia Arquette
Patricia Arquette原創
2024-11-27 17:36:14329瀏覽

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