Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C] Elaborazione file

  1. #1

    [LINGUAGGIO C] - elaborazione file

    ciao a tutti.
    volevo solo sapere se qualcuno mi poteva dire se è giusto o no

    int main (){
    FILE *fin,fout;
    char car;
    int flag
    fin = fopen(p."r");
    fout = fopen(q,"w");
    if (fin!=NULL && Fout!=NULL){
    flag = fscanf(fin,"%c",&car);
    while (flag!=EOF){
    if (strlen(flag)>7)
    fprintf(fout,"%c",&car);
    flag=fscanf(fin,"%c",&car);
    }
    fclose(fin);
    fclose(fout);
    }
    }
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  2. #2
    Gli ho dato un' aggiustatina...
    Ma gli include non li hai messi ?

    codice:
    #include <iostream.h>
    
    int main ()
    { 
    	FILE *fin, *fout;
    	char *inFileName  = ".\\Input.txt";
    	char *outFileName = ".\\Output.txt";
    	char car; 
    	int flag;
    	
    	fin = fopen( inFileName, "r"); 
    	fout = fopen( outFileName, "w"); 
    	if( fin != NULL && fout != NULL)
    	{ 
    		flag = fscanf( fin, "%c", &car); 
    		while( flag != EOF )
    		{ 
    			// fscanf returns the number of input fields successfully scanned, 
    			// converted and stored. The return value does not include scanned 
    			// fields that were not stored. 
    			// If fscanf attempts to read at end-of-file, the return value is EOF. 
    			// If no fields were stored, the return value is 0.
    			if( flag ) 
    				fprintf( fout, "%c", car); 
    			flag = fscanf( fin, "%c", &car);
    			printf("%c", car);	// Solo per l'echo a video :)
    		} 
    		fclose( fin ); 
    		fclose( fout ); 
    	} 
    }
    codice:
    if (strlen(flag)>7)
    Anche questa riga non va bene : strlen() si usa con le
    stringhe non con gli interi !
    Ma poi a che serve questa if() ?
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    io necessito di quel'if
    dato un file a creare un file b contenente le parole di a di lunghezza superiore a 7
    quindi penso che il tuo nn vada bene
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Beh ... ma se tu presenti il problema *dopo* che si e' discusso su un codice, mi sembra evidente che tutti i suggerimenti possano apparire sbagliati! Ci vorrebbe il mago Otelma ... !

    Se devi leggere delle "parole", non puoi usare

    fscanf(fin,"%c",&car);

    perche' questo leggerà solamente dei caratteri.
    Dovrai usare delle stringhe, dichiararle con una certa lunghezza massima, diciamo 200 caratteri

    char parola[200];

    ed usarle per leggere da file con

    fscanf(fin, "%s", parola);

    A questo punto avra' un senso operare con

    if(strlen(parola)>7)

  5. #5
    adesso cosi va bene?
    int main () {

    FILE * fin,fout;
    char parola[200];
    int flag;

    fin=fopen(p,"r");
    fout=fopen(q,"w");

    if (fin!=NULL && fout!=NULL){
    flag =fscanf(p,"%s",parola);
    while (flag!=EOF){
    if (strlen(parola)>7)
    fprintf(q,"%s",parola);
    flag=fscanf(p,"%s",parola);
    }
    fclose(fin);
    fclose(fout);
    }
    }
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  6. #6
    Originariamente inviato da asdas
    io necessito di quel'if
    dato un file a creare un file b contenente le parole di a di lunghezza superiore a 7
    quindi penso che il tuo nn vada bene
    Se la if() ti serve rimettila com'era, modificando la scanf()
    come ti a detto oregon altrimenti il prog non serve a niente.

    adesso cosi va bene?
    ...
    Significa che stai facendo questo programma senza provare a compilarlo ?

    Comunque puoi sempre prendere spunto dal prog aggiustato
    da me, e modificarlo come meglio credi.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.