Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C] Replace

  1. #1

    [C] Replace

    Ho questo codice:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    main()
    {
            int c;
            
            c = getchar();
            
            while (c != EOF)
            {
               putchar(c);
               c = getchar();
            }
          
    system("pause");
    return 0;
    }
    Devo sostituire il carattere A inviato in output con il numero 1, lo spazio con \t ed ogni backslash con \\.

    Come procedo? Purtroppo il motore di ricerca del forum, non mi è molto utile.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Usare l'istruzione if ... ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    if verifica
    #define 'a' '1'

    mi da errore

  4. #4
    Originariamente inviato da supergeniux
    if verifica
    #define 'a' '1'

    mi da errore
    Se non sai cosa sia un "if" o una "#define" (e qui sembra che tu non li conosca entrambi), mi pare arduo che tu possa ottenere un valido suggerimento.
    ;-)

  5. #5
    Originariamente inviato da MacApp
    Se non sai cosa sia un "if" o una "#define" (e qui sembra che tu non li conosca entrambi), mi pare arduo che tu possa ottenere un valido suggerimento.
    ;-)
    L'if, so cosa è e come funziona, il #define lo sto conoscendo ora. Siccome mi piace fare le cose per bene, ho preso un libro in mano (Linguaggio C di Kernighan e Ritchie) ed ho iniziato a studiarlo, ma ahime, il libro spiega come fare replace di variabili (#define VARIABILE NUOVAVALORE) e non come fare il replace di una singola lettera presente i una variabile.

    In ASP, in aiuto avrei la funzione REPLACE, in C non saprei.

  6. #6
    #define è un comando del preprocessore non del compilatore C.
    Un uso banale potrebbe essere

    #define PI 3.14159

    ed il preprocessore sostituirebbe tutte le occorrenze di PI con 3.14159 , prima di compilare il sorgente.
    ciao
    sergio

  7. #7
    oregon intendeva una soluzione del tipo
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
            int c;
            
            c = getchar();
            
            while (c != EOF)
            {
    	   if ( c == 'A' ) c ='1';
    	   else if ( c == ' ' ) c = '\t'; 	
    
               putchar(c);
               c = getchar();
            }
          
    	return ( 0 );
    
    }
    senza scomodare il preprocessore
    ciao
    sergio

  8. #8
    Perfetto, grazie mille.

    Ero convinto che, eseguendo il controllo su tutta la variabile, non fosse stato possibile fare il replace di una sola lettera.



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.