03/05/11 21:47
crybot
si... avevo gia` provato, ho diversi manuali di c++, uno trall'altro recentissimo uscito ad aprile, tutti pero` usano getline nel modo in cui l'ho descritto prima. non riesco a capire perche` non funzioni... in oltre non posso usare il tipo string perche` devo passare la variabile char alla funzione FindWindow() per trovare l'handle della finestra dato il titolo, e necessita di un parametro char. domani posto tutto il codice, cosi` vediamo se sono io che sbaglio qualcosa...
aaa
04/05/11 20:05
crybot
ok, la mia necessita` e questa:
utilizzare le funzioni di fstream per leggere una stringa (anche del tipo string, convertendola poi in char con c_str() ) da un file, ma con lo stream cin da file registro soltanto la stringa fino al carattere di spaziatura, ma ho bisogno di leggere il nome di una finestra, quindi... con fopen ero piu` semplice utilizzavo fgets ed era ok, ma cosi` non so proprio come rigirarmi e su google dopo due giorni di ricerca non ho trovato niente, tanto meno su tutti e 7 i libri di c++ che ho in casa...
il codice che uso attualmente e` questo:
void FinestraCheck()
{
char Window[100];
fstream in;
in.open("finestra.txt", ios::in);
if (!in)
{
cerr << "\n\nerrore!!" << endl;
system("pause");
}
in >> Window; // legge soltato fino al carattere di spaziatura
/* ho bisogno che legga un'intera stringa di parole */
/* questa e` una prova per vedere se la stringa ha letto dal file */
cout << endl << endl << Window << endl;
system("pause");
/* questa e` una prova per vedere se la stringa ha letto dal file */
HwndWindow=FindWindow(NULL, Window); // trova handle finestra
if (HwndWindow == NULL)
{
MessageBox(NULL, " \n Finestra non trovata.", "Crybot ",MB_ICONERROR | MB_TOPMOST);
WindowCalibration();
}
else
{
MessageBox(NULL, " \n Finestra trovata!", "Crybot ",MB_ICONINFORMATION | MB_TOPMOST);
}
}
se qualcuno sa aiutarmi, lo prego di farlo, altrimenti devo tornare a fopen e fgets
Crybot
Ultima modifica effettuata da crybot 04/05/11 20:07
aaa
09/05/11 21:34
frank87
Io di solito faccio cosi:
#include <cstdlib>
#include <iostream>
#include<fstream>
using namespace std;
int main(int argc, char *argv[])
{
string parola;
fstream file;
file.open("nomefile", ios::in);
if(file.fail())
{
cerr << "Errore nell'apertura dei file" << endl;
system("PAUSE");
return -1;
}
while(!file.eof())
{
file>> parola;
}
file.close();
system("PAUSE");
return EXIT_SUCCESS;
}
Ultima modifica effettuata da frank87 09/05/11 21:36
aaa