Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C] Leggere da file

  1. #1

    [C] Leggere da file

    Ciao
    vorrei sapere come fare per leggere da un file.. io devo cercare se nel file ho una determinata successioni di caratteri che però non sono ad offset stabili..

    Se io devo cercare ad esempio se nel file ciao.txt c'è scritto, ptima o poi "TESTADIMUCCA", come faccio ? azzie

    :mavieni:

  2. #2
    Per quanto riguarda la lettura del file, esistono delle funzioni standard : fopen, fread, fclose.

    Per il secondo problema, ci devi riflettere un po su e inventarti qualcosa.
    ciao ciao !!
    _______________
    home : cristianolongo.altervista.org
    e-mail : cristiano_longo@yahoo.it

  3. #3
    dovresti far avanzare l'offset di un byte alla volta, credo...
    ..:: by jhon[array] ::..

    ---> jhon[array]'s website

  4. #4
    bo! prova cosi!
    codice:
    #include<stdio.h>
    #include<string.h>
    void main(void){
    FILE *in;
    char *s;
    in=fopen("pippo.plu","r");
    while(!feof(in))
    {
    fscanf(in,"%s",s);
    if feof(in) break;
    if(strstr("TESTADIMUCCA",s))printf("TESTADIMUCCA c e");
    }
    }

  5. #5
    grazie a tutti !!

    interessante quella funzione !
    http://www.mkssoftware.com/docs/man3/strstr.3.asp

  6. #6
    un metodo più incasinato ma cmq funzionante è:

    -copi il contenuto del file in un array di char;

    -for(x=0; x<lunghezza_array; x++)
    if(array[x]=='T' && array[x+1]=='E' && //etc...

    ti sconsiglio però di usare questo metodo tranne in casi particolari perchè se non stai attento potrebbero nascere dei casini...(tipo provare a leggere un carattere oltre il limite dell array...)

  7. #7
    grazie a tutti per l'aiuto.....ora la cosa si complica perchè voglio fare na cosa nuova.... io ho un file così fatto :

    ncfft=2058
    cr=2.839326e+000
    fl=65536
    cpu=665.015625
    prog=0.08626076
    potfreq=-1
    potactivity=0
    outfilepos=0
    ...
    ..


    a me interessa quello che viene dopo "prog=0." e lo voglio isolare.. come faccio ?

  8. #8
    puoi usare la mia funzione mid versione C..
    inventati qualcosa con questa


    codice:
    #include <string.h>
    #include <alloc.h>
    
    char* mid(char[],int,int); /*dichiara la funzione*/
    
    char* mid(char testo[],int inizio,int lungh){
    
    int conta=0,num=0,max=0;
    char* ris;
    char* stringa;
    
    stringa=malloc(strlen(testo));
    strcpy(stringa,testo);
    
    max=inizio+lungh-1;
    num=inizio-1;
    
    while (num<max){
    
    ris[conta]=stringa[num];
    num++;
    conta++;
    
    }
    
    while (conta<strlen(ris)){
    ris[conta]=0;
    conta++;
    }
    
    return(ris);
    
    }
    l'ho fatta col borland quindi non so se funge anche sul c++.. prova
    www.vape04.too.it - informatica, elettronica e tante altre cose.
    @LFEO§OFT GREEnOS

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.