|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2003
Messaggi: 4
|
conversione int-char
ho un piccolo problema con la lettura da file
![]() il programma è questo #include <stdio.h> #include <ctype.h> #include <iostream.h> void main() { FILE *file; FILE *file1; char filename[20]; int ch; printf("Nome del file: "); scanf("%s", filename); if ((file=fopen(filename, "r"))==NULL) { perror("Impossibile aprire file d'ingresso\n"); } printf("Nome del file di uscita: "); scanf("%s", filename); if ((file1=fopen(filename, "w"))==NULL) { perror("Impossibile aprire file di uscita\n"); } for(; ![]() if((ch=fgetc(file))!=EOF){ if(ch == '#'){ //codice } else fputc(ch, file1); } } fclose(file); } ma ovviamente, essendo # un carattere e non un int non và niente... qualcuno sà cosa devo mettere al posto di #???? grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dovrebbe andare bene...
'#' è intero corrispondente al codice ASCII per il compilatore... |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2001
Città: Trento
Messaggi: 7095
|
altrimenti mettici il numero che ci corrisponde, altrimenti fai int('#') che fa un casting
__________________
MyPC: A7A266 - Thoro1800+@2000+ - SK6 - 512DDR - FX5200 128MB - SBLive!1024 - MAXTOR120GB - Liteon LTR52327S LDW-451S HTPC: Case uATX QTec - GA 7VM400M - Duron1600 - ALX800 - 256DDR - Radeon7000 - LiteOn166 - Pow by GeexBox 0.98.5 Utenti con cui ho trattato |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: May 2003
Messaggi: 4
|
non va.....
poco male, mi sono accorto che il c++ mi viene meglio per il progetto, ma ho problemi anche con questo.... il programma và perfettamente, copia il file, trova il carattere #, ma fà qualche casino da qualche parte ![]() ![]() toglendo la condizione if và tutto bene, quindi suppongo che il problema sia lì, ma non lo trovo #include <iostream.h> #include <fstream.h> void main(){ char ch; int i = 0; ifstream in("a.zip", ios::binary); ofstream out("b.zip", ios::binary); while(!in.eof()){ i = 0; in.get(ch); if(ch == '#'){ out.put(ch); while(i < 4){ in.get(ch); out.put(ch); i++; } } out.put(ch); } out.close(); in.close(); } grazie |
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: Feb 2003
Città: genova
Messaggi: 130
|
c'è una ripetizione di out.put()
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:21.