powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как работать с файлом как с потоком?
4 сообщений из 4, страница 1 из 1
Как работать с файлом как с потоком?
    #33499134
Gradient
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ! подскажите, пожалуйста, как в VC 6 работать с файлом как с потоком?

1) Что надо #include
2) Какую либу подключить (если надо)
3) Как открыть/закрыть

А то не зная названий функций чего-то не везет с поиском.
Дальше сам накопаю. Заранее спасибо.
...
Рейтинг: 0 / 0
Как работать с файлом как с потоком?
    #33499493
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GradientНарод! подскажите, пожалуйста, как в VC 6 работать с файлом как с потоком?

1) Что надо #include
2) Какую либу подключить (если надо)
3) Как открыть/закрыть

А то не зная названий функций чего-то не везет с поиском.
Дальше сам накопаю. Заранее спасибо.
Примерно так:
[src c++]
#include <fcntl.h>
#include <io.h>
#include <conio.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
// TODO: code your application's behavior here.
FILE *stream;
long BitesIsRead;
int hr;
char *p,*r;
char *fld[30];
char buffer[1024];
char delim[]="\t|,\n";

ZeroMemory((void *)buffer,1024);
ZeroMemory((void *)&fld,sizeof(fld));

if((stream=fopen("D:\\temp\\25_in.out","rb"))!=NULL)
{
int j=0;
while(fgets(buffer,sizeof(buffer),stream)!=NULL)
{
j++;
int i=1;
fld[0]=buffer;
r=buffer;
BitesIsRead=strlen(buffer);
for(hr=0;hr<strlen(delim);hr++)
{
while((p=strchr(r,delim[hr]))!=NULL)
{
*p='\0';
fld[i++]=++p;
r=p;
}
}

for (i;i<30;i++)
fld =NULL;

ZeroMemory((void *)buffer,1024);
ZeroMemory((void *)&myBill,sizeof(myBill));
ZeroMemory((void *)&fld,sizeof(fld));
}
if((hr=fclose(stream))==EOF)
{
BitesIsRead=GetLastError();
cout<<"Last Error code is:"<<BitesIsRead<<endl;
getch();
}
}
else
{
cout<<"Sorry! File Opening is failed!"<<endl;
BitesIsRead=GetLastError();
cout<<"Last Error code is:"<<BitesIsRead<<endl;
getch();
}
getch();
return 0;
}
[/src c++]
...
Рейтинг: 0 / 0
Как работать с файлом как с потоком?
    #33499507
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GradientНарод! подскажите, пожалуйста, как в VC 6 работать с файлом как с потоком?

1) Что надо #include
2) Какую либу подключить (если надо)
3) Как открыть/закрыть

А то не зная названий функций чего-то не везет с поиском.
Дальше сам накопаю. Заранее спасибо.

1) fstream
2) это стандартная библиотека, т.е. обычно дополнительных телодвижений не требуется
3) объекты ifstream (ввод) или ofstream (вывод). открытие либо на конструкторе, либо open. Закрытие либо close, либо сами при выходе из блока.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#include <string>
#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char *argv[])
{
    if(argc >  1 )
    {
        string s;
        ifstream ifs(argv[ 1 ]);
        while(ifs >> s)
            cout << s << endl;
    }
    return  0 ;
}


g++ test.cpp
./a.out test.cpp
...
Рейтинг: 0 / 0
Как работать с файлом как с потоком?
    #33499546
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эээ... пардон за


g++ test.cpp
./a.out test.cpp


ляпнул сгоряча лишнего...
Но в VC6 тоже самое - Ctrl-S, F7, F5 :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как работать с файлом как с потоком?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]