Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    8

    [C] Gets file input

    Salve a tutti. Allora io ho da poco cominciato a programmare in C, e ora ho questo problema che non mi permette di andare avanti. Ho intenzione di creare un programma che aspetta che l'utente inserisca delle righe di testo o numeriche (al max 127 caratteri per riga), senza sapere quante righe inserirà l'utente. Quando avrà terminato l'inserimento utilizzerà ^Z oppure una riga vuota. Allora il programma dovrà iniziare ad elaborare l'input, analizzando riga per riga. Se analizzasse man mano, mediante la funzione gets e sscanf durante l'inserimento dell'input mi toccherebbe creare troppe variabili, in quanto nn so quante righe andrà ad inserire. Esiste una funzione che mi permette di analizzare le stringhe solo dopo inserimento ultimato? Spero abbiate capito cosa ho voluto dire ^^
    Grazie, saluti.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    No ... personalmente non ho capito ...

    Che intendi con

    "una funzione che mi permette di analizzare le stringhe solo dopo inserimento ultimato"

    ?

    Le stringhe sono in memoria ... le puoi analizzare quando vuoi ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    8
    Le stringhe sono (da ciò che so) in una variabile.
    Ad esempio: Gets(buffer). Cioè memorizza quella stringa nella variabile buffer. Usando sscanf(buffer....) posso analizzare quella stringa. Dopodichè posso utilizzare un altro gets(buffer) per ricevere un'altra stringa, sempre però nella variabile buffer, che va a sovrascrivere i dati scritti nel buffer precedente. Si potrebbe utilizzare molte variabili per memorizzare ogni riga in variabili diverse, ma se non so a priori quante righe abbia intenzione di scrivere l'utente, ciò non è possibile.

    Esempio stupidissimo:
    Input:
    Giovanni
    Carlo
    Elisa
    Carmelo
    ^Z [allora il programma legge Control Z e comincia l'ouput]
    Ouput:
    Operazione su Giovanni
    Operazione su Carlo
    ....

    Io non so quante righe voglia scrivere l'utente, perciò non so quante variabili devo utilizzare per memorizzare le stringhe in memoria, e di conseguenza elaborare i dati.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ah ... ok ...

    Per ogni problema deve essere usato (e conosciuto) lo strumento apposito per risolverlo ...

    Il modo migliore di affrontare il problema e' usare una "lista semplice" di strutture del tipo

    {
    stringa di 128 caratteri
    puntatore a prossima struttura
    }

    In questo modo, tramite l' "allocazione dinamica" degli elementi della lista, potrai creare lo spazio per le varie righe in input.

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.