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

Хитрый fstream - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод из файла в массив http://www.cyberforum.ru/cpp-beginners/thread103199.html
Приветствую. Вопрос, конечно, проще некуда... но всё же. Как организовать ввод из файла чисел в массив. В бэйсике, если память не изменяет, там всё просто и числа в файле надо через пробел писать. Хотелось бы это осуществить в С.
C++ Как исключить из цикла числа содержащиеся в массиве Есть массив исключений Int massiv={0};В нем каждый раз разное количество элементов которые больше нуля. Нужно составить условие, при котором если число больше нуля и входит в массив исключений , то выполняется некое условие. Я написал код , когда сразу известно сколько элементов в массиве больше нуля Скажем таких элементов два for(i=1; i<52; i++){ if(i==massiv|| i==massiv){ break;} }Но... http://www.cyberforum.ru/cpp-beginners/thread103186.html
Модули.. задание C++
Тема- Стандартные модули и модульная структура приложений. Кто поможет - мегареспект. Самым бы простейшим способом.. Составить алгоритм и программу, которые составляют общий перечень необходимых марок машин для n фермерских хозяйств с указанием их количеств. Причем каждое фермерское хозяйство представило свой перечень, состоящий из m машин разных наименований (марок) и потребность в каждой из...
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) по правилу...
C++ Последовательность.. с циклом do .. while http://www.cyberforum.ru/cpp-beginners/thread103145.html
Очень жесткое задание. вообще не могу понять как делать. Вычислить и вывести те члены последовательности, (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++ Переделать с использованием указателей Прошу помощи у разбирающихся людей. Есть 2 задания. Надо переделать с использованием указателей как можно проще..Буду очень признателен в помощи 1) void f2() { cout <<"Тема 2 - Основные средства языка программирования"<<endl; _getch(); double x; подробнее

Показать сообщение отдельно
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316

Хитрый fstream - C++

11.03.2010, 11:47. Просмотров 1533. Ответов 2
Метки (Все метки)

Привет всем!

Вот есть код, казалось бы без ошибок...
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 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru