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

如何在 C 中有效地從逗號分隔的字串中提取整數?

Mary-Kate Olsen
發布: 2024-12-29 10:02:09
原創
707 人瀏覽過

How Can I Efficiently Extract Integers from a Comma-Separated String in C  ?

從C 語言中的逗號分隔字串中提取數字資料

將逗號分隔字串中的資料解析為數值數組是程式設計的常見挑戰。對於整數的具體情況,C 提供了幾種簡單的方法。

基本解析演算法:

一種簡單的方法涉及逐個字元地迭代字串。對於每個字符,檢查下一個字符是否是逗號。如果是,則丟棄逗號。否則,將字元轉換為整數並將其儲存在陣列中。

使用 istringstream:

C 標準函式庫提供了 istringstream 類別用於解析輸入流。若要從逗號分隔的字串中提取數字,請使用該字串作為輸入建立 istringstream 物件。然後,使用流提取運算子>>一次提取每個數字 1。

實現:

以下代碼片段演示了使用istringstream 的基本解析算法:

#include <vector>
#include <string>
#include <sstream>
#include <iostream>

int main()
{
    std::string str = "1,2,3,4,5,6";
    std::vector<int> vect;

    std::stringstream ss(str);

    for (int i; ss >> i;) {
        vect.push_back(i);    
        if (ss.peek() == ',')
            ss.ignore();
    }

    for (std::size_t i = 0; i < vect.size(); i++)
        std::cout << vect[i] << std::endl;

    return 0;
}
登入後複製

其他選項:

對於更複雜的對於解析場景,C標準函式庫提供了額外的選項,例如 strtok 函數和正規表示式。但是,對於簡單的逗號分隔整數列表,上述方法通常足夠且易於實現。

以上是如何在 C 中有效地從逗號分隔的字串中提取整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板