Maison >développement back-end >C++ >Comment analyser une chaîne séparée par des virgules dans un tableau d'entiers en C ?

Comment analyser une chaîne séparée par des virgules dans un tableau d'entiers en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-18 03:14:14278parcourir

How to Parse a Comma-Separated String into an Integer Array in C  ?

Analyse de chaînes séparées par des virgules dans des tableaux d'entiers

En C, l'analyse d'une chaîne séparée par des virgules dans un tableau d'entiers peut être réalisée en utilisant le étapes suivantes :

  1. Lire un numéro à la fois time: Utilisez un flux d'entrée (std::istringstream) pour lire les nombres de la chaîne caractère par caractère.
  2. Vérifiez les virgules : Après avoir lu un nombre, vérifiez si le prochain le caractère est une virgule (','). Si tel est le cas, ignorez-le.
  3. Poussez les nombres dans un tableau : Parcourez le flux d'entrée jusqu'à ce que tous les nombres soient extraits. Stockez chaque numéro dans un tableau à croissance dynamique (par exemple, std::vector).

Voici un exemple d'extrait de code qui illustre cette approche :

#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;
}

Sortie :

1
2
3
4
5
6

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn