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

Хитрый fstream - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввод из файла в массив http://www.cyberforum.ru/cpp-beginners/thread103199.html
Приветствую. Вопрос, конечно, проще некуда... но всё же. Как организовать ввод из файла чисел в массив. В бэйсике, если память не изменяет, там всё просто и числа в файле надо через пробел писать. Хотелось бы это осуществить в С.
C++ Модули.. задание Тема- Стандартные модули и модульная структура приложений. Кто поможет - мегареспект. Самым бы простейшим способом.. Составить алгоритм и программу, которые составляют общий перечень необходимых марок машин для n фермерских хозяйств с указанием их количеств. Причем каждое фермерское хозяйство представило свой перечень, состоящий из m машин разных наименований (марок) и потребность в каждой из... http://www.cyberforum.ru/cpp-beginners/thread103151.html
C++ Ошибка в двумерных массивах
Пишет ошибку Run-Time Check Failure #2 - Stack around the variable 'mas2' was corrupted. Задание:Сформировать двумерный массив A(4,3) по правилу A(i,j)=sin(i+j/2).Определить наименьший элемент в каждой строке массива и записать его в соответствующий элемент одномерного массива B. Вывести массив B. Код: int 123() { cout <<"Сформировать двумерный массив A(4,3) по правилу...
Последовательность.. с циклом do .. while C++
Очень жесткое задание. вообще не могу понять как делать. Вычислить и вывести те члены последовательности, (x^3)/3, (-x^5)/15,.....,((-1)^n+1)* {(x^(2n+1))/((4П^2)-1)} значения которых по модулю больше ε = 0.001 при x = 0.3. Кто разбирается огромная просьба помочь. Есть решение другого варианта: int f6() { cout <<" iterativnue ziklisheskie struktury do .... loop "<<endl;
C++ Переделать с использованием указателей http://www.cyberforum.ru/cpp-beginners/thread103142.html
Прошу помощи у разбирающихся людей. Есть 2 задания. Надо переделать с использованием указателей как можно проще..Буду очень признателен в помощи 1) void f2() { cout <<"Тема 2 - Основные средства языка программирования"<<endl; _getch(); double x;
C++ Удалить из массива все элементы с чётными индексами Привет!!!!плиз...помогите кто может...буду оч благодарна)))) над решить такую задачу...ток чтобы всё было в одной проге: 1.Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры) и вывести его. 2.Удалить из него все элементы с чётными индексами. 3.Добавить К элементов в конец массива 4.Выполнить такую перестановку в массиве: Поменять... подробнее

Показать сообщение отдельно
Adler
 Аватар для Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
11.03.2010, 11:47     Хитрый fstream
Привет всем!

Вот есть код, казалось бы без ошибок...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <windows.h>
#include <fstream>
#include <vector>
#include <string>
#include <stdio.h>
 
using namespace std;
string mem;
int pos;
 
int FileLength(iostream &f)
{
  f.seekg(0,ios::end);
  int L=f.tellg();
  f.seekg(0,ios::beg);
  return L;
};
 
void LoadFile(string FN)
{
  fstream f;
  f.open(FN.c_str(),ios_base::in);
  if(!f)return;
  int L=FileLength(f); mem.resize(L);
  f.read(&mem[0],L);
  f.close(); pos=0;
};
 
int main(int argc, char* argv[])
{
  LoadFile("GameScene.qap");
  for(int i=3800;i<3900;i++)
    printf("[%i] = '%X'\n",i,(unsigned char)mem[i]);
  system("pause");
  return 0;
}
гарантировано, что размер входного файла больше 5кб.

Вот интересно, почему этот код не читает некоторые файлы... точнее читает, но не до конца? У меня такое предчувствие, что ему не безразлично что у них внутри...
ps: WinXP, MSVC++ 2005.
Тестовый пример, на котором проявляется ошибка:
Вложения
Тип файла: rar Any.rar (3.2 Кб, 10 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru