Warning Nu esti autentificat. Te rog autentifica-te sau inregistreaza-te pentru a avea acces la toate facilitatile forumului.
SkullBox  
Decembrie 05, 2008, 05:22:41 am
Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
Noutăţi: Mondenitati
 
 SkullBoxDirector webTutoriale  Pagina principală   Ajutor Caută Autentificare Creează un cont  
Pagini: [1]
  Imprimă  
Subiect: Citirea unui intreg fisier - C++  (Citit de 985 ori)
0Utilizatori şi 1 Vizitatori
Teal
*
Deconectat Deconectat

Mesaje: 602



WWW
Citirea unui intreg fisier - C++, Decembrie 21, 2007, 02:50:09 pm

Folosesc de mult functia asta, si am zis sa v-o dau si voua. Poate va ajuta cu ceva.
Cod:
#include
#include
#include
using namespace std;
string citireFisier(string fisier)
{
// lungimea fisierului ce urmeaza a fi citit
unsigned long lungime;
// unde vor fi salvate in memorie datele
char *buffer;
// streamul de intrare pentru citire
ifstream file(fisier.c_str(),ios::binary);
// se merge la sfarsitu fisierului
file.seekg(0,ios::end);
// returneaza marimea fisierului
lungime = file.tellg();
// se merge la inceputul fisierului pentru citire
file.seekg(0,ios::beg);
// se aloca spatiu pentru citire
buffer = new char[lungime];
// se citeste continutul fisierului
file.read(buffer,lungime);
// se inchide streamul de citire
file.close();
// se returneaza datele citite
return string(buffer);
}
int main()
{
// citim datele din fisierul "fisier.txt"
string data = citireFisier("fisier.txt");
// afisam datele
cout< return 1;
}
Memorat


"Not only the wisdom of centuries — also their madness breaketh
out in us. Dangerous is it to be an heir."

Nietzsche
Archangel
Administrator
*
Deconectat Deconectat

Gen: Femeie
Mesaje: 1037



Citirea unui intreg fisier - C++, Ianuarie 22, 2008, 08:51:45 pm

ce inseamna lungimea fisierului? lungimea sirului de caractere din fisier cumva?
Memorat

Teal
*
Deconectat Deconectat

Mesaje: 602



WWW
Citirea unui intreg fisier - C++, Februarie 18, 2008, 10:53:25 pm

variabila lungime iti zice cate caractere sunt de la inceputul fisierului pana la sfaristul acestuia.
Memorat


"Not only the wisdom of centuries — also their madness breaketh
out in us. Dangerous is it to be an heir."

Nietzsche
astan
Skullbox user
Global Moderator
*
Deconectat Deconectat

Gen: Bărbat
Mesaje: 316


Citirea unui intreg fisier - C++, Martie 09, 2008, 03:00:02 am

Citat din mesajul lui: TE4L
Folosesc de mult functia asta, si am zis sa v-o dau si voua. Poate va ajuta cu ceva.
Cod:
#include
#include
#include
using namespace std;
string citireFisier(string fisier)
{
// lungimea fisierului ce urmeaza a fi citit
unsigned long lungime;
// unde vor fi salvate in memorie datele
char *buffer;
// streamul de intrare pentru citire
ifstream file(fisier.c_str(),ios::binary);
// se merge la sfarsitu fisierului
file.seekg(0,ios::end);
// returneaza marimea fisierului
lungime = file.tellg();
// se merge la inceputul fisierului pentru citire
file.seekg(0,ios::beg);
// se aloca spatiu pentru citire
buffer = new char[lungime];
// se citeste continutul fisierului
file.read(buffer,lungime);
// se inchide streamul de citire
file.close();
// se returneaza datele citite
return string(buffer);
}
int main()
{
// citim datele din fisierul "fisier.txt"
string data = citireFisier("fisier.txt");
// afisam datele
cout< return 1;
}
O metoda mai eficienta de aflat dimensiunea unui fisier
Pentru windows:

Cod:
int GetFileSize(const char* pFileName, LONGLONG& fileSize)
{
   fileSize = 0;
   WIN32_FILE_ATTRIBUTE_DATA fad;
   if (!GetFileAttributesEx(pFileName, GetFileExInfoStandard, &fad))
       return (-1);

   LARGE_INTEGER li;
   li.LowPart  = fad.nFileSizeLow;
   li.HighPart = fad.nFileSizeHigh;
   fileSize = li.QuadPart;
   return 0;
}
Pentru unix:

Cod:
int GetFileSize(const char* pFileName, unsigned long long& fileSize)

{

   fileSize = 0;


   struct stat st;

   if (stat(pFileName, &st) == 0)

       fileSize = st.st_size;

   else

       return (-1);
   

   return 0;

}
Memorat
SkullAds
Ecspert
ReclAmator
* * * * *
Google AdSense

Gen: Bărbat
Mesaje: Multe

Reclama AdSense,
 

 
   


Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Creat cu MySQL Creat cu PHP Ethical hacking and programming community Director web romanesc cu inscriere gratuita Validat cu XHTML 1.0! Validat cu CSS!
IPFind, FAQDB, LAMP.ro, Good Proxy, Aberez.EU, RoFreeSBIE, ShockingSoft.com, HostVision, Invatam.net, PC Troubleshooting, Curs valutar online
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro