IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Ajouter un caractère à une QStringList

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Par défaut Ajouter un caractère à une QStringList
    Bonsoir, j ai un petit probleme que je n' arrive toujours pas à resoudre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    QByteArray GetNet::getNetStat()
    {
     
    QProcess p;
     
    p.start("sh", QStringList() << "-c" << "netstat -natu | grep 'ESTABLISHED' | grep -Ev '127.0.0.1' | awk '{print ($1, $4, $5)}'");
    if (!p.waitForFinished(500))
        return QByteArray();
     
    QStringList list = QString::fromLatin1(p.readAllStandardOutput()).split("\n");
     
    QString result = list.filter("tcp").join("\n") + QString("\n\n");
            result += list.filter("udp").join("\n") + QString("\n");
     
    return result.toLatin1();
     
    }
    me retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    tcp ip:port ip:port
    tcp ip:port ip:port
    tcp ip:port ip:port
    tcp ip:port ip:port
     
    udp ip:port ip:port
    udp ip:port ip:port
    j aimerais pouvoir ajouter \t tabulation entre chaques espaces, mais je n' y parviens pas.
    Auriez vous une idée de comment y parvenir?

    Je suis parti dans tous les sens (QTableView, QMap, QStringList & operator, QString & insert , sans vraiment m' en sortir.

    Je ne sais pas vers quoi m' orienter, je n' ai pas les connaissances requises pour m' en sortir seul.

    Si vous pouviez m' eclairer, je vous en saurai gré.

    Cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour

    A la volée, sans réfléchir, je dirais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach(QString s, list.filter("tcp"))  {
       result.append(s.split(' ').join('\t')).append('\n');
    }
    result.append("\n\n");
     
    foreach(QString s, list.filter("udp"))  {
       result.append(s.split(' ').join('\t')).append('\n');
    }
    result.append("\n\n");

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Par défaut
    Un tres grand merci à toi Lelfic.

    J' ai enfin pu resoudre mon probleme et apprendre un peu au passage comment manipuler cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    QByteArray GetTraff::getNetStat()
    {
     
    QProcess p;
     
    p.start("sh", QStringList() << "-c" << "netstat -natu | grep 'ESTABLISHED' | grep -Ev '127.0.0.1' | awk '{print ($1, $4, $5)}'");
    if (!p.waitForFinished(500))
        return QByteArray();
     
    QStringList list = QString::fromLatin1(p.readAllStandardOutput()).split("\n");
     
    QString result;
     
    foreach(QString s, list.filter("tcp"))  {
        result.append(s.split(" ").join("    ->    ")).append("\n");
    }
    result.append("\n\n");
     
    foreach(QString s, list.filter("udp"))  {
        result.append(s.split(" ").join("    ->    ")).append("\n");
    }
    result.append("\n\n");
     
    return result.toLatin1();
     
    }
    par contre je doute un peu sur ce que je viens de faire.


    Y a t il une approche plus propre pour monitorer les connections udp tcp ?

    J envois cela vers une interface qml, je fais un petit clone de conky sous gnu/linux pour apprendre et me faire la main.

    A vrai dire je ne me suis pas foulé en utilisant netstat grep et awk

Discussions similaires

  1. Ajouter un caractère à une chaine
    Par susana.com dans le forum C
    Réponses: 2
    Dernier message: 21/04/2013, 13h40
  2. Ajouter des caractères à une chaine
    Par bestcasaoui dans le forum Langage
    Réponses: 1
    Dernier message: 28/03/2012, 13h52
  3. Ajouter des caractères à une cellule
    Par DarkGriffin dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/06/2009, 15h43
  4. Réponses: 7
    Dernier message: 29/05/2006, 14h46
  5. [Débutant][JSP] Ajout des caractères à une String...
    Par Henkyl dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 04/03/2004, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo