diff --git a/file/inverti_fauser.cpp b/file/inverti_fauser.cpp new file mode 100644 index 0000000..34400ea --- /dev/null +++ b/file/inverti_fauser.cpp @@ -0,0 +1,36 @@ +/* +AUTORE: Manuel Vichi +Scrivere un programma che inverta ogni riga contenuta nel file righe.txt e riporti il risultato sullo + schermo (per esempio, la riga Prova di stampa diventa apmats id avorP). +*/ +#include +#include +#include +using namespace std; +void invertiFile(const char* fileName) { + FILE* file = fopen(fileName, "r"); + if (file != NULL) { + char riga[256]; + while (fgets(riga, sizeof(riga), file)) { + int n = strlen(riga); + if (riga[n - 1] == '\n') { + riga[n - 1] = '\0'; + n--; + } + for (int i = 0; i < n / 2; i++) { + char temp = riga[i]; + riga[i] = riga[n - i - 1]; + riga[n - i - 1] = temp; + } + cout << riga << endl; + } + fclose(file); + } + else { + perror("Errore durante la lettura di un file: "); + } +} +int main(void) { + invertiFile("righe.txt"); + return 0; +}