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

    [C++] Selezionare una determinata riga di un file di testo

    Ciao a tutti mi chiamo Mehdi seguo da un po di tempo questo forum.
    Vi chiedo aiuto, ho cercato nel forum con gli appositi strumenti ma non ho trovato nulla inerente al mio problema.
    Non sono molto esperto nella programmazione in c++ e sto creando un programma che dovrebbe leggere un file di testo che visualizza determinate righe determinate righe.

    Praticamente il file di testo utilizzato che genero tramite un .bat ha sempre la stessa formattazione con n righe variabile.
    In un caso in cui abbiamo il file di testo formato da 60 righe le righe che devo recuperare sono a partire dalla 22esima (inclusa) con 22+4 riga, 26+4 riga e cosi vià fino ad arrivare alla 60-18 riga

    Dopo aver selezionato queste righe devo memorizzarle per poi usare una serie di comandi system ();
    Il numero di righe può variare quindi suppongo di dover creare una serie di variabili di tipo stringa che funzionano come un buffer... nel senso che se se metto 20 variabili non posso supportare un file di testo con 118 righe per il ragionamento fatto di sopra, riportando un riempimento del buffer.

    Non so veramente che pesci prendere se qualcuno di voi può aiutarmi gli sarei veramente molto grato.



    riporto in seguito il codice che ho sviluppato fino ad ora


    Il problema è che non riesco a capire come selezionare le righe che mi interessano per poi urilizzarle dopo con i comandi system ().
    il file utenti.txt l'ho generato in questo con un .bat :

    cd c:\
    cd Users
    dir > utenti.txt


    Spero che qualcuno di voi posssa aiutarmi grazie infinite.

  2. #2
    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <stdlib.h>
    #include <cstdlib>
    
    using namespace std;
    
    int main(){
    
    int system(const char *command);
    
    
    
    string r1 [30];
    string r2 [30];
    string r3 [30];
    string r4 [30];
    string r5 [30];
    string r6 [30];
    string r7 [30];
    string r8 [30];
    string r9 [30];
    string r10 [30];
    string r11 [30];
    string r14 [30];
    string r15 [30];
    string r16 [30];
    string r17 [30];
    string r18 [ 30];
    string r19 [30];
    string r20 [30];
    string riga;
    
    ifstream input ("C:\\users\\utenti.txt");
    
    if(!input){
    cout<<"ERRORE!!"<<endl;
     }else{
        while(input>>riga)cout<<riga<<endl;}
    }
    Ultima modifica di MItaly; 06-08-2014 a 23:17 Motivo: Sistemati i tag CODE

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    @mehdisitel: all'interno delle parentesi quadre ci va il nome del tag, non il codice...

    [CODE]
    ... codice ...
    [/CODE]


    Ho sistemato io.
    Ultima modifica di LeleFT; 06-08-2014 a 12:11
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Tag per questa discussione

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.