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

    Unire file html in [java o c++]

    Ciao a tutti!
    Vorrei sapere come posso scansionare una cartella e prelevare i file html contenuti ed unirli tutti
    in un'unico file html che li contenga tutti!
    Io vorrei realizzarlo in c++ ma va bene anche in java se qualcuno lo sa fare!
    Grazie 1000

  2. #2
    Ciao intanto per vedere i file contenuti in una cartella guardati le funzioni FindFirstFile(restituisce il primo file di una cartella) e FindNextFile(per recuperare i successivi).

    Per quel che riguarda Unire i file guardati invece le funzioni fopen(apertura e creazione file), fseek(per posizionarti sul file),putc(per scrivere sul file).

    Non è complicato ma non pretenderai che qualcuno ti posti tutto il codice vero? :adhone: Almeno cosi' impari qualcosa :adhone:
    http://www.navimel.com

    La disumanità del computer sta nel fatto che, una volta programmato(da me) e messo in funzione, FA QUEL CAZZO CHE VUOLE!!!

  3. #3

    Grazie

    Grazie 1000!
    VOlevo sapere quale funzione posso usare del c++ che mi restituisce i nomi delle cartelle contenute in una cartella!
    Grazie ancora!

  4. #4

    Risolto tutto ma!!

    Ciao ho risolto tutto!
    Solo che non riesco a capire come poter richiamare la funzione Scansiona dal main, forse lo definita male!?
    Mi potete dare un consigli, di seguito inserisco il codice.
    Grazie 1000

    #include <stdio.h>
    #include <fstream.h>
    #include <string.h>

    #include <stdlib.h>
    #include <windows.h>
    #include <direct.h>

    void Scansione(void);

    void main(char boo[160]){

    void Scansiona(void);

    char nome_file_finale[230], file_scansione[230], scan[1000], stringa[1000], stringa_tmp[1000];

    cout << '\n' << "Sto lavorando..." << '\n';

    strcpy (nome_file_finale, "provafine.html");
    strcpy (file_scansione, "scansione.dir");

    fstream file, file_finale, scansione;


    file_finale.open(nome_file_finale, ios:ut);
    scansione.open(file_scansione,ios::in);
    scansione.getline(scan, 1000);
    file.open(scan, ios::in);

    int a, i=1;

    if (!(file.is_open() * file_finale.is_open())) {
    cout << "Errore nei file .htm";

    }else{

    while(!file.eof() && i){ //Primo file

    file.getline(stringa, 1000);
    if (strcmp (stringa, "</body>")) {
    file_finale << stringa << '\n';
    }else{
    i=0; //Esce dal ciclo
    }
    }
    }

    file.close();
    i=1;

    for(a=0;!scansione.eof();a++){ //Tutti file meno che l'ultimo

    scansione.getline(scan, 1000);
    file.open(scan, ios::in);

    while(!file.eof() && i){ //Cerca il <body>

    file.getline(stringa, 1000);
    strcpy(stringa_tmp, stringa);
    stringa_tmp[5] = '\0';
    if (!strcmp(stringa_tmp, "<body"))
    i=0;
    }

    i = 1;
    while(!file.eof() && i){ //Salva in filefinale fino a </body>

    file.getline(stringa, 1000);

    if (strcmp (stringa, "</body>")) {
    file_finale << stringa << '\n';
    }else{
    i=0; //Esce dal ciclo
    }
    }
    file.close();
    }



    file_finale.close();
    scansione.close();

    cout << "Finito!";

    }






    void Scansiona(void){
    char nome[160]="d:\*.", dir_file[100] = "scansione.dir";

    WIN32_FIND_DATA fd;
    HANDLE h;

    fstream dir;
    dir.open(dir_file, ios:ut);

    if (INVALID_HANDLE_VALUE!=(h=FindFirstFile(nome, &fd))){
    cout << '\n' << fd.cFileName;
    dir << fd.cFileName << '\n';

    while (0!=FindNextFile(h,&fd)){
    cout << '\n' << fd.cFileName;
    dir << fd.cFileName << '\n';
    }
    }
    return;
    }

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.