Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    152

    [c++] lettura da file.txt e string

    Salve a tutti!!

    Ho un problema con un file file.txt che viene letto da un algortitmo c++ che prende i valori e li passa ad una variabile float.
    Il file è fatto in questo modo

    32.45
    24.5

    34.2
    ...

    il problema è che posso avere degli spazi vuoti tra le righe, quindi nel momento in cui eseguo la funzione getline:

    ifstream in ("file.txt")
    string STRINGA;
    getline(in, STRINGA,'\n');

    devo dire al programma che se STRINGA è vuota è necessario saltare e andare avanti col getline, cosa che riuscirei a fare se solo capissi come verificare che STRINGA è vuota.

    Ho provato con :
    if(STRINGA == NULL).... //COSì non funziona
    if(STRINGA == " ").... //COSì non funziona
    if(STRINGA == "\n").... //COSì non funziona

    Come posso fare???
    Grazie
    andry80

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    27

    Re: [c++] lettura da file.txt e string

    Originariamente inviato da andry80
    Salve a tutti!!

    Ho un problema con un file file.txt che viene letto da un algortitmo c++ che prende i valori e li passa ad una variabile float.
    Il file è fatto in questo modo

    32.45
    24.5

    34.2
    ...

    il problema è che posso avere degli spazi vuoti tra le righe, quindi nel momento in cui eseguo la funzione getline:

    ifstream in ("file.txt")
    string STRINGA;
    getline(in, STRINGA,'\n');

    devo dire al programma che se STRINGA è vuota è necessario saltare e andare avanti col getline, cosa che riuscirei a fare se solo capissi come verificare che STRINGA è vuota.

    Ho provato con :
    if(STRINGA == NULL).... //COSì non funziona
    if(STRINGA == " ").... //COSì non funziona
    if(STRINGA == "\n").... //COSì non funziona

    Come posso fare???
    Grazie
    Ma quando confronti due stringhe non puoi usare == perchè non è come se confrontassi un carattere.
    Devi usare
    codice:
    if(!strcmp(STRINGA," ")) ...
    comunque in C:

    codice:
    while(!feof(file)) //finchè non è alla fine del file
    {
    fgets(stringa,255,file);
    printf("%s",stringa);
    }

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.