C でのカンマ区切り文字列からの数値データの抽出
カンマ区切り文字列から数値配列へのデータの解析は、プログラミングにおける一般的な課題となります。 。整数の特定のケースに対して、C はいくつかの直接的なアプローチを提供します。
基本的な解析アルゴリズム:
1 つの簡単な方法では、文字列を 1 文字ずつ反復処理します。文字ごとに、次の文字がカンマかどうかを確認します。その場合は、カンマを捨ててください。それ以外の場合は、文字を整数に変換し、配列に格納します。
isstringstream の使用:
C 標準ライブラリには、入力ストリームを解析するための istringstream クラスが用意されています。カンマ区切りの文字列から数値を抽出するには、その文字列を入力として使用して isstringstream オブジェクトを作成します。次に、ストリーム抽出演算子 >> を使用します。
実装:
次のコード スニペットは、isstringstream を使用した基本的な解析アルゴリズムを示しています。
#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 中国語 Web サイトの他の関連記事を参照してください。