Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    [c++] mi servirebbe il sistema più veloce per ripulire una stringa...

    ho questa riga:

    presenze:31°***combinazione:5,10,70***rs: 485 ra: 485 colpirimanenti: 0

    vorrei ottenere in meno passaggi possibili questa:


    5,10,70

    qualcuno/a saprebbe postarmi il codice "ripulitore fast" + adatto?

    Very thanks

    e occhio a quei numerelli su VE x E/A/T


  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: [c++] mi servirebbe il sistema più veloce per ripulire una stringa...

    Originariamente inviato da freetom
    qualcuno/a saprebbe postarmi il codice "ripulitore fast" + adatto?
    Ma perché non ci provi tu e poi ne parliamo?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Re: Re: [c++] mi servirebbe il sistema più veloce per ripulire una stringa...

    Originariamente inviato da oregon
    Ma perché non ci provi tu e poi ne parliamo?
    Perchè ci ho già provato e ci sono riuscito solo a patto di sostituire (cancellare) passo passo tutti i caratteri eccedenti... mentre chiederei se possibile una soluzione "taglia l'eccessivo" in un colpo unico che mi sfugge... tutto qui


  4. #4
    Io andrei di sscanf, se poi è ancora troppo lenta si può pensare ad una macchina a stati finiti.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    sscanf ???

    Originariamente inviato da MItaly
    Io andrei di sscanf, se poi è ancora troppo lenta si può pensare ad una macchina a stati finiti.
    Mi potresti fare un esempio sul suo utilizzo applicandolo ad esempio alla riga da me postata sopra?

    Grazie 1000


  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: Re: Re: [c++] mi servirebbe il sistema più veloce per ripulire una stringa...

    Originariamente inviato da freetom
    Perchè ci ho già provato e ci sono riuscito solo a patto di sostituire (cancellare) passo passo tutti i caratteri eccedenti... mentre chiederei se possibile una soluzione "taglia l'eccessivo" in un colpo unico che mi sfugge... tutto qui
    Sì ma tu sai benissimo (dato che ci stai da molto in questo forum) che non è bene cercare la "pappa pronta".

    Ci hai provato e non sei riuscito ... ok ... facci vedere come hai provato a fare e, ti ho già detto, se ne parla.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Re: Re: Re: Re: [c++] mi servirebbe il sistema più veloce per ripulire una stringa...

    Originariamente inviato da oregon
    Sì ma tu sai benissimo (dato che ci stai da molto in questo forum) che non è bene cercare la "pappa pronta".

    Ci hai provato e non sei riuscito ... ok ... facci vedere come hai provato a fare e, ti ho già detto, se ne parla.

    Io per adesso ricorro solo a questo:

    codice:
    string s = "presenze:79°***combinazione: 14,78,6 ***rs:572ra:170colpirimanenti:402"; 
    
    cout << s << endl; 
    
    string a = ""; //cancello i caratteri non voluti... 
    s.replace(0, a.length(), a); 
    s.replace(22, a.length(), a);
    il problema è che non sempre il carattere da cui far partire la seconda cancellazione è il 22...

    Grazie comunque per l'interessamento


  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: Re: Re: Re: Re: [c++] mi servirebbe il sistema più veloce per ripulire una stringa...

    Cioè?

    Questo codice

    Originariamente inviato da freetom
    codice:
    string s = "presenze:79°***combinazione: 14,78,6 ***rs:572ra:170colpirimanenti:402"; 
    
    cout << s << endl; 
    
    string a = ""; //cancello i caratteri non voluti... 
    s.replace(0, a.length(), a); 
    s.replace(22, a.length(), a);
    cosa farebbe?
    L'hai provato?

    Fossi in te, creerei una nuova stringa estraendo dalla prima quello che ti serve.
    Potresti utilizzare i metodi find e substr della string
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.