Форум программистов, компьютерный форум CyberForum.ru

Работа с файлами: fseek(), ftell(), etc... - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.68
nio-kun
Сообщений: n/a
02.12.2008, 09:49     Работа с файлами: fseek(), ftell(), etc... #1
Разбираю работу с файлами (прошу не пинать за убогость исходника), и наткнулся на одну загвоздку: программа компилируется без ошибок, но при запуске вылетает с ошибкой: "Инструкция по адресу "0x7c43e41d" обратилась по адресу "0x78131742". Память не может быть "written".
Причём вылетает это только если вызывать функцию gfsize(), если её вызов закомментировать - всё работает.

Код
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;

int gfsize (const char* flname){
//Определяем размер файла в байтах
FILE* fl=fopen(flname, "rb");
	fseek(fl,0L, SEEK_END);
	int sz = ftell(fl);
	fclose(fl);
	return sz;
}

int main(){
char a; char *fn1; char *fn2;
cout <<"Input first filename\n"; 
cin >> fn1;

int ssize=gfsize(fn1); //// <---если это закоментить, всё работает!

cout <<"Input second filename\n";
cin >> fn2;
FILE * f1=fopen(fn1, "rb");
FILE *f2=fopen(fn2,"rb");
FILE *f3=fopen("c:\\3.txt","wb");
while (!feof(f1)){
a=fgetc(f1);
if (!feof(f1)) fputc (a,f3);
};
fputs("|-next file-|",f3);
while (!feof(f2)){
a=fgetc(f2);
if (!feof(f2)) fputc (a,f3);
};
getch();
return 0;
}
Windows XP SP2, MS VS2005
Вопрос: что я делаю не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2008, 09:49     Работа с файлами: fseek(), ftell(), etc...
Посмотрите здесь:

fseek вылетает C++
работа с fseek и файлами C++
Функция fseek C++
C++ fseek / fread
Не могу разобраться с функцией fseek C++
C++ Работа с файлами (fseek)
fseek не работает C++
C++ fseek для ab
C++ Функции fseek, _fseeki64
Fseek() для ifstream C++
Что делает fseek? C++
C++ Fseek и структуры

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru