PDA

Visualizza la versione completa : [C] Sostituire tab con stringa di caratteri arbitraria (era: Beginner's program)


mico90
31-07-2008, 11:42
Ciao a tutti, mi sto addentrando nella programmazione e sto facendo i primi ( stupidi ) programmini, ma ho avuto un problema; il programma dovrebbe sostituirmi il tasto di tabulazione ( che quando premuto viene interpretato come '/t' ) con una stringa di caratteri arbitraria : "tab"; ecco il codice :



#include <stdio.h>
/* Detab V1 */

int main()
{
int c;

while ( ( c = (getchar() ) != EOF ) ) {
if ( c == '/t' )
printf("tab");
else putchar(c);
}
return(0);
}


purtroppo il carattere di tabulazione non viene sostituito, ed ora mi chiedo se sbaglio qualcosa io oppure se la tabulazione viene gestita da windows nella shell di DOS.


Grazie.

Xant
31-07-2008, 12:01
...ma non era '\t' una volta?

Ora non ho un compilatore sotto mano, per per il momento prova a sostituire '/t' in '\t'...

mico90
31-07-2008, 12:02
azzus hai ragione ! piccola distrazione :D , comunque non va ugualmente QQ

Massachusetts
31-07-2008, 12:02
Rovescia la barra '\t'

LeleFT
31-07-2008, 13:47
Per il futuro: i titoli delle discussioni devono sempre far capire qual il contenuto della discussione stessa. E' scritto anche nel regolamento, che ti invito a leggere.

Questo l'ho aggiustato io.


Ciao. :ciauz:

mico90
31-07-2008, 13:49
Originariamente inviato da LeleFT
Per il futuro: i titoli delle discussioni devono sempre far capire qual il contenuto della discussione stessa. E' scritto anche nel regolamento, che ti invito a leggere.

Questo l'ho aggiustato io.


Ciao. :ciauz:

Ok scusa :zizi:

Xant
31-07-2008, 21:06
Ho capito va... devo scaricarmi un compilatore per Windows al volo e provare.
Ti faccio sapere tra poco... ;)

Xant
31-07-2008, 21:22
#include <stdio.h>
#include <conio.h>
/* Detab V1 */

int main()
{
int c;

do {
c=getch();
if (c=='\t')
printf("tab");
else putchar(c);
} while(c!=0x3);
return(0);
}

Ecco, questo funge.
Da notare che sotto linux l'header conio.h non esiste... li il discorso si amplia un pochino (il 0x3 il CTRL+C).

mico90
01-08-2008, 00:17
Grazie 1000 :zizi:

Ciao. :ciauz:

Loading