Newsgroup: it.comp.lang.c
Titolo: Errore in un programma

Salve a tutti.
Sapete dirmi perché il programma che segue dà l'errore scritto in 
fondo?
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUFSIZE 1024
int main(int argc, char *argv[]){
HANDLE sd,dd; 
DWORD size,result; 
char buffer[BUFSIZE];
if(argc!=3) { /*Controllo sul numerodi argomenti*/
printf("usage: copia source target\n");
exit(1);
}
/*Apertura del file da copiare in sola lettura*/
sd=CreateFile(argv[1],
			  GENERIC_READ,
			  0,
			  NULL,
			  OPEN_EXISTING,
			  FILE_ATTRIBUTE_NORMAL,
			  NULL);
if(sd==INVALID_HANDLE_VALUE){
	printf("Cannotopensourcefile\n");
	ExitProcess(1);
/*Creazionedelfiledestinazione*/
dd=CreateFile(argv[2],
			  GENERIC_WRITE,
			  0,
			  NULL,
			  CREATE_ALWAYS,
			  FILE_ATTRIBUTE_NORMAL,
			  NULL);
if(dd==INVALID_HANDLE_VALUE){
	printf("Cannotopendestinationfile\n");
	ExitProcess(1);
}
do{ /*Qui iniziano le operazioni di copia*/
	if(ReadFile(sd,buffer,BUFSIZE,&size,NULL)==0){
		printf("Cannot read from source file\n");
		ExitProcess(1);
	}
	if(WriteFile(dd,buffer,size,&result,NULL)==0){
		printf("Cannot write to destination file\n");
		ExitProcess(1);
	}
}
while(size>0);
CloseHandle(sd);
CloseHandle(dd);
return(0);
}
ERRORE:
board.c(62) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
board.obj - 1 error(s), 0 warning(s)
Grazie per l'eventuale risposta.
-- 
Lord Gas, the Waxen - Blasfemo di IFTMDG - Penguin's Enemy #1 
[ICQ: 57483751][the Waxen Pith: 
http://www.snipp.org/gas
]
... "Goddamn, there's always such a big temptation to be good"
... (Tom Waits - God's Away on Business)

 board.obj - 1 error(s), 0 warning(s)
Manca una parentesi graffa chiusa dopo il primo 
"if(sd==INVALID_HANDLE_VALUE)"
Ti conviene scrivere il sorgente in modo che sia più facile seguire dove 
si aprono e si chiudono le parentesi, se l'editor è quello di VC/C++ 
puoi verificarle con Ctrl-Shift-E ("match")
Lou

 
man gdb
Adieu,
-- 
Lestat de Lioncourt  -- a.k.a --  Ciro Mattia Gonano
 Undergraduate student in Computer Science at University of Bologna
 IHGGer #1049   <=>  ICQ#: 52631406   <=>   URL: 
http://www.CS.UniBO.It/~gonano
 Debian admin at 
Students.CS.UniBO.It
 <=> look at headers for my JabberID & GPG

 man gdb
Ma, scusa, è un programma chiaramente per Win e tu gli proponi di guardare
le pagine di manuale di Unix? ;-)
Ciao

Il Sun, 15 Jun 2003 16:45:20 GMT, Lou Cyphre fece sapere che:

Se invece usi il mitico Vim basta SHIFT+% :) 

 Se invece usi il mitico Vim basta SHIFT+% :) 
<flamesuit>
Credo ci siano molte più probabilità che chi sviluppa in ambiente 
Windows usi VC/C++ anche come editor, visto che aiuta anche nel creare 
il "progetto" o "makefile".
Personalmente trovo piuttosto scomoda la distinzione che fanno 'vi' e 
derivati fra le modalità comandi ed inserimento; capisco altresì che in 
origine non ci fossero molti tasti di controllo sulle tastiere dei 
terminali, per cui le alternative non erano molte.
Se usasse editor basati su Scintilla (ad es. come Programmers Notepad 2) 
non avrebbe neppure bisogno di premere alcun tasto (per visualizzare le 
parentesi) in quanto vengono evidenziate automaticamente al passaggio 
del cursore -- succede anche con altri editor, certo, ma era il primo 
che mi son ricordato fra quelli free.
</flamesuit>
Lou