Прочитать содержимое файла
Далее могу делать с массивом разные операции...например подсчет пробелов или запятых в тексте..........Как можно это осуществить без потери форматирования.......?
Цитата:
On 2002-09-06 0000, Pennywise wrote
Нужно прочитать посимвольно текстовый файл в консольном С++..........Cодержимое файла присваиваеться массиву типа text[1000].
Далее могу делать с массивом разные операции...например подсчет пробелов или запятых в тексте..........Как можно это осуществить без потери форматирования.......?
Либо я что-то не понял, либо это можно сделать чтением (можно посимвольно) из файла, а там уж делай что хочешь
Нужно считать содержимое файла в массив....
Форматирование не должно быть нарушено..
Это значит все невидимые знаки...типа пробела, знака новой строки...не должны исчезать фиг его знает куда........
точная копия файла в массиве....что бы в результате (после работы с ним) можно было массив запихать обратно в новый текстовый файл......с тем же форматированием, что и было раньше........
ofstream in("bla-bla.bla",ios_basein |
ios_baseout | ios_basebinary);
if(!in)
{
//Ошибка открытия
}
i=0;
while(!in.eof)
in >> text[i++];//вроде так
// Делаешь что надо
ofstream out("bla-bla.bla",ios_basein |
ios_baseout | ios_basebinary | ios_basetrunc);
if(!out)
{
//Опять ошибка открытия
}
for(int j=0;j<i;j++)
out << text[j];
Цитата:
On 2002-09-07 0957, bjaka_max wrote
#include <fstream.h>
ofstream in("bla-bla.bla",ios_basein |
ios_baseout | ios_basebinary);
if(!in)
{
//Ошибка открытия
}
i=0;
while(!in.eof)
in >> text[i++];//вроде так
// Делаешь что надо
ofstream out("bla-bla.bla",ios_basein |
ios_baseout | ios_basebinary | ios_basetrunc);
if(!out)
{
//Опять ошибка открытия
}
for(int j=0;j<i;j++)
out << text[j];
Юзай WinApi, все побыстрей работать будет и код поменьше будет CreateFile ReadFile
// http//www.sp1r1tual.com
#include <fstream.h>
ofstream in("bla-bla.bla",ios_basein |
ios_baseout | ios_basebinary);
if(!in)
{
//Ошибка открытия
}
i=0;
while(!in.eof)
in >> text[i++];//вроде так
// Делаешь что надо
ofstream out("bla-bla.bla",ios_basein |
ios_baseout | ios_basebinary | ios_basetrunc);
if(!out)
{
//Опять ошибка открытия
}
for(int j=0;j<i;j++)
out << text[j];
[/quote]
Текст сохраняеться в массив без невидимых знаков....
2Joker
Ты не мог бы написать пример для CreateFile, ReadFile ?
2. через WinAPI быстрее не будет.
все гораздо проще
-----------------------------
char txt[1000];
FILE *fp=fopen("file.txt","rb");
fread(&txt,1,1000,fp);
fclose(fp);
-----------------------------
fread возвращает количество считанных байт. Если оно не 1000, то считан последний блок.
RTFM