Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [C] Problema creazione file .txt
Forum - C/C++ - [C] Problema creazione file .txt

Avatar
idroir (Normal User)
Newbie


Messaggi: 1
Iscritto: 14/06/2011

Segnala al moderatore
Postato alle 12:18
Martedì, 14/06/2011
Salve,
ho realizzato questo programma:
Codice sorgente - presumibilmente C++

  1. #include<iostream.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4. #include<conio.h>
  5.  
  6. struct arc
  7. {
  8. char cogn[20];
  9. char nom[20];
  10. };
  11.  
  12.  
  13. void a(void);
  14. void b(void);
  15. void c(void);
  16.  
  17. void main (void)
  18. {
  19. int r;
  20. do
  21. {
  22. cout<<"Ins 1 per creare,2 per aggi,3 vis";
  23. cin>>r;
  24. if(r==1) a();
  25. if(r==2) b();
  26. if(r==3) c();
  27. if(r==4) break;
  28. }
  29. while(1);
  30. }
  31.  
  32. void a (void)
  33. {
  34. FILE *f;
  35. f=fopen("C:\\esc\\archivi\\nc.txt","wb");
  36. fclose(f);
  37. }
  38.  
  39. void b (void)
  40. {
  41. arc rec_arc;
  42. int r;
  43. FILE *f;
  44. f=fopen("C:\\esc\\archivi\\nc.txt","r+b");
  45. do
  46. {
  47. r=fread(&rec_arc,sizeof(arc),1,f);
  48. }
  49. while(r!=0);
  50. cout<<"ins cogn";
  51. cin>>rec_arc.cogn;
  52. cout<<"ins nom";
  53. cin>>rec_arc.nom;
  54. fwrite(&rec_arc,sizeof(arc),1,f);
  55. fclose(f);
  56. }
  57.  
  58. void c (void)
  59. {
  60. FILE *f;
  61. int r;
  62. arc rec_arc;
  63. f=fopen("C:\\esc\\archivi\\nc.txt","rb");
  64. r=fread(&rec_arc,sizeof(arc),1,f);
  65. do
  66. {
  67. cout<<rec_arc.cogn<<" "<<rec_arc.nom<<" ";
  68. r=fread(&rec_arc,sizeof(arc),1,f);
  69. }
  70. while (r!=0);
  71. fclose (f);
  72. }



e funziona, però quando vado ad aprire il file al percorso C:\esc\archivi\nc.txt ci sono i dati che ho immesso, ma ci sono anche caratteri come questi (WW$W$Vn#€#), come mai??

Grazie!!

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 14:22
Martedì, 14/06/2011
Stai scrivendo dati binari su un file di testo.

quindi il problema è la parte "wb", "r+b"... cosa dovrei mettere al posto della b?? - idroir - 14/06/11 14:46
prova a mettere "w","r+" e togli la b.. - Alex - 14/06/11 21:24


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM