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

    [c++] leggere file

    Ci sto diventando matto da un po di tempo non riesco a creare la maledetta funzione per leggere una riga di un file VVoVe: mi potete scrivere un funzione tipo : leggi(char file,int riga) che restituiscie il valore della riga grazieeeeeeeeeeeeeeeee

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non puoi farci vedere tu cosa hai scritto e cosa non hai saputo fare (o cio' su cui hai dubbi) ?

  3. #3
    tutto ho provato di tutto....

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da fedeg93
    tutto ho provato di tutto....
    Posta una delle cose che hai provato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Prova questo, dovrebbe funzionare :

    codice:
    #include <fstream.h>
    
    bool leggi(char *file,int riga)
    {
    	fstream fs;
    	char ch;
    	int nIndex, nIndex2;
    	const int MAX = 1024;
    	char szRiga[MAX];
    
    	if ( riga < 1 )
    	{
    		cout << "L'indice deve esser maggiore di zero" << endl;
    		return false;
    	}
    	
    	fs.open(file, ios::in|ios::nocreate);
    	if ( fs.fail() )
    	{
    		cout << "Errore nell'apertura del file" << endl;
    		return false;
    	}
    	
    	nIndex = 1;
    	nIndex2 = 0;
    	szRiga[0] = '\0';
    
    	while ( fs.good() )
    	{
    		fs.get(ch);
    		if( !ch )
    			break;
    
    		if ( ch == '\n' )
    			++nIndex;
    		if ( nIndex == riga )
    		{
    			szRiga[nIndex2] = ch;
    			++nIndex2;
    		}
    
    		if ( (ch == '\n' && nIndex > riga) || (nIndex2 == MAX) )
    			break;
    	}
    	
    	szRiga[nIndex2] = '\0';
    
    	cout << "Riga " << riga << " : " << szRiga << endl;
    
    	fs.close();
    
    	return true;
    }
    
    
    int main(int argc, char* argv[])
    {
    	leggi("prova.txt", 21);
    
    	return 0;
    }

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.