Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C/C++] Sequenze di Escape

    E' possibile personalizzare una sequenza di escape?
    Vorrei fare in modo che scrivendo: cout << "Pippo \x"; (oppure printf("Pippo \x");) la sequenza di escape '\x' mi venga sostituita con qualcos altro, come succede col '\n' che viene sostituito con "a capo"...
    Devo riscrivermi le funzioni di I/O, o esiste un modo per farlo?



    PS: Dover processare la stringa prima di mandarla alla funzione non mi va molto a genio... Preferirei esistesse proprio un modo che mi fa aggiungere una sequenza di escape personalizzato.

  2. #2
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Credo che devi ridefinire l'operatore di immissione nello stream << creandoti un modo di stampa personalizzato, in c++ puoi farlo.
    Ciao
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  3. #3
    Originariamente inviato da Xadoom
    Credo che devi ridefinire l'operatore di immissione nello stream << creandoti un modo di stampa personalizzato, in c++ puoi farlo.
    Ciao
    Dici che basti fare l'overloading dell'operatore "<<"?
    C'avevo pensato anch'io... Poi però ho pensato che le sequenze di escape ci sono con tutte le funzioni di IO... Sulle funzioni di IO su files, su sockets, su monitor etc... Ed inoltre ci sono sia su quelle del C++ che usano gli operatori "<<" e ">>", sia su quelle del C che non usano tali operatori...


  4. #4
    potresti definire una funzione che ti effetui il replace dei caratteri preceduti da \, qualcosa del tipo:

    char* _(const char* stringa){
    //... effettui il replace
    }

    ...

    cout << _("la mia stringa \x speciale") << endl;
    eXtending-Php.net coming soon ...

  5. #5
    Originariamente inviato da Dark Bard
    potresti definire una funzione che ti effetui il replace dei caratteri preceduti da \
    Originariamente inviato da GNAWS
    PS: Dover processare la stringa prima di mandarla alla funzione non mi va molto a genio... Preferirei esistesse proprio un modo che mi fa aggiungere una sequenza di escape personalizzato.

    Processare la stringa con una mia funzione sarebbe la soluzione più semplice, e è la prima che mi era venuta in mente...
    Ho postato quì per sapere se esiste un metodo migliore...


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.