|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 534
|
[C++] Creazione e scrittura su file
Il mio problema è semplice: voglio creare un file di testo e scriverci qualcosa.
Per cominciare vorrei scrivere un int. Il mio problema è che mi crea il file (lo ritrovo vuoto nella directory) ma poi il compilatore mi dà errore ed esce. Dove sbaglio? #include <stdio.h> int numero; main() { FILE *fp; fp=fopen("O:\\INFO_filetxt\\prova_file2.txt","w"); if (fp=NULL) printf("Errore apertura file"); else { numero=fputc('5',fp); } fclose(fp); } Ho rpovato anche ad inserire un array di interi ma il compilatore esce sempre subito dopo aver creato il file. #include <stdio.h> #include <string.h> int i; char buffer[5]; main() {FILE *fp; for(i=0;i<5;i++) { printf("Inserisci un numero intero"); scanf("%d",&buffer[i]); } fp=fopen("O:\\INFO_filetxt\\prova_file3.txt","w"); if (fp=NULL) printf("Errore apertura file"); else { fwrite(buffer,sizeof(char),strlen(buffer),fp); } fclose(fp); } In entrambi i casi il debugger non mi scrive nulla. Grazie in anticipo per i consigli! ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Non potevi fare errore più banale:
if (fp=NULL) printf("Errore apertura file"); la condizione è una assegnazione e sara sempre vera!!! e cosi: if (fp==NULL) printf("Errore apertura file"); |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Comunque non ti preoccupare ha volte questi errori li fanno anche programmatori con ANNI di esperienza
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 534
|
Quote:
![]() ![]() ![]() ![]() Beh, meno male: pensavo di non aver capito nulla sulla gestione dei file! ![]() ![]() Grazie ancora ![]() |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 534
|
Quote:
![]() ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:24.