Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841

    [c/c++] sistema per fare parsing di dati

    ciao a tutti,
    vorrei un sistema per poter parsare stringhe e prendere i valori che mi servono, magari attraverso una qualche forma di regex.

    Vi faccio un esempio per chiarire l'idea:


    una stringa come questa
    !ban35m nick causa flame

    vorrei poterla prelevare in questo modo:
    codice:
    funzione("!ban35m nick causa flame", "!ban%d%c %s causa %s", &time, unit, username, reason);
    quindi time conterrà il numero 35, unit il char m, username l'array "nick" e reason l'array "flame"

    inutile dire che non posso fare una funzione ad hoc perche ci sono tanti prototipi diversi da controllare.

    questo è solo un esempio ispirato al funzionamento di una funzione tipo sscanf. se esistono classi o qualcosa per ottenere lo stesso risultato mi vanno bene uguale

    E' che una funzione così flessibile è una rottura di palle da scrivere da zero, quindi se esistesse da qualche parte mi salverebbe un sacco di lavoro.

    voi come fareste? cosa usereste?

    grazie

  2. #2
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    LOOOL sono un cretino

    si puo fare anche con sscanf

    ecco qui

    codice:
    sscanf(sentence, "!ban%d%c%*[ ]%[^ ]%*[ ]causa%*[ ]%[^ ]", &num, &car, str, str2);
    scusate questo spreco di bytes

  3. #3
    In ogni caso se ti dovessero servire le regex sono disponibili in boost e nel nuovo standard C++11.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.