Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    100

    [c]capire Se Un File È Binario

    CIAO VI DESCRIVO IL MIO PROBLEMA,
    devo implementare un programma dove a linea di comando passo dei pathname dei file..
    /main file1 file2 file3

    devo sapere quali di questi pathname appartengonoa file normali e quali a file binari come faccio??
    per distinguere tra file normale o directory ho trovato delle macro che usano stat() ma non cè nulla x distinguere se un file è binario ..
    grazie
    df

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Infatti non esiste il concetto di "file binario" ... un file e' un file. Ci si puo' accedere in binario, ma non è una caratteristica del file, ma del tipo di accesso.

    Ma perchè questo problema?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    100
    ti spiego il mio problema
    devo fare un programma dove a linea di comando gli viene passato nomifile

    se il file è di testo devo stampare il suo contenuto per parole
    se è un file binario devostampare ils uo contenuto per sottostringhe testuali.
    df

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da esoni
    per sottostringhe testuali.
    Ovvero?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    100
    ovvero come la funzione strings() caratteri visualizzabili
    df

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non ho ancora ben capito ...

    Di quale "funzione" strings parli? Intendi il "comando" strings di Unix?

    Se vuoi visualizzare i caratteri "stampabili", basta che apri comunque il file in binario e leggi tutti i byte visualizzando quelli che possono esserlo (magari usi la isgraph() e la isspace() ).

    Un file di "testo" presenta dei caratteri di tipo CR/LF alla fine di ogni riga, ma non è differente in altro. Non si puo' parlare, come ti ho detto, di file binario o di testo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    100
    si la strings di unix.. per aprire in binario come faccio?
    df

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da esoni
    si la strings di unix.. per aprire in binario come faccio?
    Esiste la funzione fopen ... studia la sua documentazione ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    100
    mi son letto le documentazioni!
    per esempio se io vorrei aprire un file(esempio un file non di testo come un eseguibile) , e vorrei in output le sue componenti testuali al suo interno(una per riga), con modalità analoghe a quelle del comando UNIX strings come farei?
    io ho provato con questo codice pensando che strings stampa solo le sottostringhe formate da caratteri visualizzabile ma non mi da il medesimo output del comando strings()


    codice:
    #include<stdio.h>
    #include<string.h>
    #include<malloc.h>
    #include<stdlib.h>
    #include<errno.h>
    #include<dirent.h>
    #include<sys/types.h>
    #include<sys/stat.h>
    #include<ctype.h>
    
    int main(){
    FILE *F;
    F=fopen("stat","r");
    int i;
    char a;
    char *buf1,*buf2;
    buf1=malloc(30 * sizeof (char));
    a=fgetc(F);
    while(a!=EOF)
    {
    if(isspace(a)==0)// non è spazio quindi fa parte della mia sottostringa
    {
    if(isgraph(a)!=0)
    printf("%c",a);
    a=fgetc(F);
    }else
    printf("\n");//finita sottostringa
    a=fgetc(F);
    }
    }
    df

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    100
    dato che stiamo slittando un po dal titolo della discussione ho aperto una nuova discussione inerente a questo argomento
    vedi http://forum.html.it/forum/showthrea...readid=1405109
    df

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 © 2024 vBulletin Solutions, Inc. All rights reserved.