Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema in un programmino in C

    Sono nuovo nella prog. in C ed avrei bisogno di alcuni suggerimenti su un programmino che sto scrivendo. Devo leggere da un file dei codici, scrivendoli una sola volta se ne trovo + di uno.
    I codici nel file sono scritti cosi x esempio:

    PJ1E2431440007
    RS10004
    RS10170
    RS10180
    RS10190
    RS103161C00001
    PJ1E243
    RR1F3940009329

    Questo è quello che ho scritto finora:

    #include <stdio.h>
    #include <stdlib.h>

    char data[14];
    FILE *cfPtr;
    FILE *listPt;

    char i=0;
    int main()
    {
    cfPtr = fopen("c:\\ESTRAOUT.OUT","r");
    listPt = fopen("c:\\lista.txt","w");
    while(!feof(cfPtr))
    {

    fscanf(cfPtr,"%3s%*s",data);

    fprintf(listPt,"%s\n",data);
    ++i;

    }

    fprintf(listPt,"Totale studi in elaborazione: %d\n",i);
    fclose(cfPtr);
    fclose(listPt);
    system("PAUSE");
    return 0;

    }

    A me serve solo i primi 3 caratteri del codice (PJ1 x esempio) e tutti i codici devono essere scritti nel file una sola volta.
    Per favore aiutatemi.
    Ps: è possibile memorizzare in un ciclo while una stringa in un array per poi richiamarla con array[i]? nel mio caso posso memorizzare ad ogni giro del ciclo un codice in data per poi richiamarlo con data[i] e mettendo che io voglia sapere che codice ho rilevato al 3° giro, quindi i=3, con data[3] mi restituisca proprio il codice del 3° giro?
    Se fino adesso ho detto solo minchiate, come si puo fare?.
    Vi ringrazio in anticipo

  2. #2
    Se non sono stato chiaro a spiegare il mio problema o ho detto solo fesserie, per favore non esitate a dirmelo e a chiedermi spiegazioni. Non ho proprio idea di come fare a risolverlo.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da Mattia83
    Se non sono stato chiaro a spiegare il mio problema o ho detto solo fesserie, per favore non esitate a dirmelo e a chiedermi spiegazioni. Non ho proprio idea di come fare a risolverlo.
    Secondo me, dato che sei nuovo, dovresti innanzitutto leggere il nostro Regolamento che espone tutte le regole di buona convivenza all'interno di quest'area del forum, in particolare descrivendo come si scrivono i titoli.

    Nel tuo caso, il titolo è molto generico e non rispetta le convenzioni, quindi potrebbe essere un deterrente ad un'eventuale buona volontà dei partecipanti a risponderti, poichè l'argomento non è chiaro.

    Modifico il titolo ma cerca di scriverli più significativi in futuro, se non altro a tuo vantaggio poichè aumenti le possibilità di ricevere risposta.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Signor moderatore mi scuso veramente tanto ed elimino il mio account qui da voi.

  5. #5
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Per evitare di scrivere piu volte lo stesso codice nel file devi tenerti in memoria i codici letti, puo ad esempio allocarti anzicchè un array di caratteri un array di array:

    char[100][4] data;

    se sai che non ci saranno più di 100 codici diversi e i codici sono lunghi 3 caratteri.

    Nel while leggi il nuovo cdoice, controlli se già esiste in data e se non esiste lo aggiungi nella prossima locazione libera. Poi con un altro ciclo scrivi i codici nel file.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

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.