Ciao a tutti ,
vorrei qualche consiglio per questo esercizio:
si scriva un programma i cui dati in uscita replichino i dati in ingresso, sostituendo i caratteri di tabulazione con \t, ogni backspace con \b e ogni barra inversa con \\, così da rendere perfettamente visibili le tabulazioni e le cancellazioni.
Il mio codice è in calce, però:
1) il backspace non funziona ...
2) ho dovuto usare il valore del codice ascii (92), perchè mi dava un errore se usavo
putchar(' \');
per il resto mi sembra che giri giusto.
Vi sarei grato se oltre a darmi suggerimenti sui punti 1 e 2, mi poteste dare indicazioni
su come, se possibile, perfezionare il codice.
// sostituzione di tabulazione -> /t, backspace -> /b, "\" con -> \\
#include <stdio.h>
main()
{
int c=0;
while( (c=getchar()) != '?')
{
if( c == '\t'){
putchar(92);
putchar('t');
}
else if( c == '\b'){
putchar(92);
putchar('b');
}
else if( c == 't'){
putchar(92);
putchar(92);
}
else putchar(c);
}
fflush(stdin);
getchar();
}
Grazie