#include "stdafx.h" //подключение библиотек
#include "windows.h"
#include "fstream.h"
int main() // начало программы
{
char *buffer; // описываем переменные
HANDLE hFile;
DWORD dwFileSize,nBytesRead;
DWORD kk;
char fname[100];
cout<<"Zapis v bufer"<<endl; //вывод в потоке
cout<<" "<<endl;
cout<<"Enter file to read from"<<endl;
cin>>fname; //ввод в потоке
hFile=CreateFile(fname,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
kk=GetLastError();
if (kk!=0)
{
cout << " "<<endl;
cout << "There is no such file."<<endl;
}
else
{
cout << " "<<endl;
cout << "Content of the file:"<<endl;
dwFileSize=GetFileSize(hFile,NULL); //получение размера файла
buffer=new char[dwFileSize]; //задание переменной значения размера
ReadFile(hFile, buffer, dwFileSize, &nBytesRead,NULL) ; //чтение файла
}
cout<<buffer<<endl;
return 0; // обнуление
}
Запись в файл на си
Код:
Будьте добры, как в ней реализовать сохранение считанного в определенный файл по запросу пользователя. (т.е. необходимо выведенную информацию из файла сохранить по указанному пути в указанный фал). Я был бы Вам очень признателен за помощь в данном вопросе.
2. Почти так же, только вместо Read - Write. Какие сложности?
делал, но столько ошибок.. не то, как мне кажется.
Код:
int m;
int iFileHandle;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//m=StrToInt(Edit1->Text);
iFileHandle = FileOpen("file.text", fmOpenWrite);
FileWrite(iFileHandle, Edit1->Text.c_str(), Edit1->Text.Length());
FileClose(iFileHandle);
int iFileHandle;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//m=StrToInt(Edit1->Text);
iFileHandle = FileOpen("file.text", fmOpenWrite);
FileWrite(iFileHandle, Edit1->Text.c_str(), Edit1->Text.Length());
FileClose(iFileHandle);
то что сделал. В файл не пишеся :(
Открывает существующий файл, т.е. если файл нет она вернет значение -1.
Используй
int __fastcall FileCreate(const AnsiString FileName);