Andmart
27-06-2009, 17:38
Ciao a Tutti!
Ho bisogno del vostro aiuto. Ho un programma che deve leggere tanti file denominati 1, 2, 3, 4 posti all'interno della stessa diretory dove viene eseguito il programma e deve salvare il contenuto di essi in un unico file, con l'eccezione che se i file non ci sono o contengono solo la scritta "404 NOT FOUND" non deve salvare nulla.
Ho scritto il programma in C++ e l'ho compilato sotto Linux con c++ e va alla perfezione. Perņ lo stesso codice sotto Windows Xp non funziona: viene aperto solo il primo file della serie e poi non riesce a trovare quelli successivi.
Qualche idea??? Sto impazzendoci dietro...
Ciao,
Andrea
Allego sorgente:
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string>
#include <sstream>
#include <cstdio>
std::string int_to_string(int numero)
{
std::string a;
std::stringstream out;
out << numero;
a = out.str();
return(a);
}
int main()
{
int max=50;
int i;
int controllo=0;
std::string modello;
std::string file;
std::ofstream OutFile ("totale.txt", std::ios::out);
std::ifstream inFileLong;
for (i=13; i<max; i++)
{
file=int_to_string(i);
inFileLong.open(file.c_str(), std::ios::in);
if (!inFileLong) {
std::cout << "Errore: file non trovato!!" <<std::endl;
}
else
{
while (!inFileLong.eof())
{
getline(inFileLong, modello);
if ( ! modello.empty() )
{
if (modello.compare("404 NOT FOUND")==0)
{
}
else
{
if (controllo==0)
{
OutFile << modello;
controllo=1;
}
else
{
OutFile <<"\n"<< modello;
}
}
}
}
}
inFileLong.close();
std::cout << file << std::endl;
}
OutFile.close();
return 0;
}
Ho bisogno del vostro aiuto. Ho un programma che deve leggere tanti file denominati 1, 2, 3, 4 posti all'interno della stessa diretory dove viene eseguito il programma e deve salvare il contenuto di essi in un unico file, con l'eccezione che se i file non ci sono o contengono solo la scritta "404 NOT FOUND" non deve salvare nulla.
Ho scritto il programma in C++ e l'ho compilato sotto Linux con c++ e va alla perfezione. Perņ lo stesso codice sotto Windows Xp non funziona: viene aperto solo il primo file della serie e poi non riesce a trovare quelli successivi.
Qualche idea??? Sto impazzendoci dietro...
Ciao,
Andrea
Allego sorgente:
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string>
#include <sstream>
#include <cstdio>
std::string int_to_string(int numero)
{
std::string a;
std::stringstream out;
out << numero;
a = out.str();
return(a);
}
int main()
{
int max=50;
int i;
int controllo=0;
std::string modello;
std::string file;
std::ofstream OutFile ("totale.txt", std::ios::out);
std::ifstream inFileLong;
for (i=13; i<max; i++)
{
file=int_to_string(i);
inFileLong.open(file.c_str(), std::ios::in);
if (!inFileLong) {
std::cout << "Errore: file non trovato!!" <<std::endl;
}
else
{
while (!inFileLong.eof())
{
getline(inFileLong, modello);
if ( ! modello.empty() )
{
if (modello.compare("404 NOT FOUND")==0)
{
}
else
{
if (controllo==0)
{
OutFile << modello;
controllo=1;
}
else
{
OutFile <<"\n"<< modello;
}
}
}
}
}
inFileLong.close();
std::cout << file << std::endl;
}
OutFile.close();
return 0;
}