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

Считывается только первое слово из строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ дружественные функции в C++. Когда без них невозможно? http://www.cyberforum.ru/cpp-beginners/thread651067.html
Здравствуйте! Есть ли ситуации, когда без дружественных функций невозможно обойтись или всегда можно заменить ее обычной функцией/методом? Если без нее обойтись нельзя, напишите пожалуйста пример)...
C++ C++ <- AutoIt Столкнулся с проблемой в AuoIt... Интерпретатор очень медленно обрабатывает циклы... А у меня сканирование изображений... 786 000 для 1024 * 768 =) Вот и появилась мысль написать dll... Потому, что... http://www.cyberforum.ru/cpp-beginners/thread651061.html
Как на С сделать ввод чисел в Italic? C++
Write a C program that calculated the average of four numbers entered. Sample output (user entered data is italic). Enter a number: 56 Enter a second number: 45 ...
C++ создать класс
Помогите создать класс "Хищники" с объектами:рысь, медведь.
C++ Задачки по инфроматике http://www.cyberforum.ru/cpp-beginners/thread651035.html
Плохо понимаю С++..Помогите,пожалуйста.. задание 1) Дана матрица 9х9 целого типа. Создать одномерный массив, содержащий элементы матрицы, стоящие до максимального значения матрицы (Fn1). Для...
C++ Сигнатуры класса и библиотеки Доброго времени суток. Недавно взялся за изучение C++ и после C# и Java с классами работать немного непривычно... Вопрос такой, есть класс library.cpp, есть заголовочный файл library.h, насколько я... подробнее

Показать сообщение отдельно
fier
127 / 12 / 2
Регистрация: 05.08.2013
Сообщений: 243
21.09.2016, 23:54
Здравствуйте!
У меня похожая ситуация, поэтому новую тему начинать не буду.

Есть бинарный файл - в нём много пробелов и разных символов,а также обычного текста в кодировке CP-1251.
Разрабатываю программу в C++ Builder 6.

Однако, при чтении из этого файла удаётся почитать только 1-е слово.
Пробовал разными способами

Вот они:
1)ifstream
C++
1
2
3
4
5
6
7
  ifstream f ("example.bin", ifstream::binary);
  f.seekg (0, f.end);
  int length = f.tellg();
  char * buffer = new char [length];
  f.seekg (0, f.beg);
  f.read (buffer, length);
  ShowMessage(buffer);//выводит только первое слово
2)TFileStream
C++
1
2
3
4
5
            Array=new TFileStream("example.bin",fmOpenRead);
            char *buffer = new char[Array->Size];
            Array->Read(buffer, sizeof(buffer));
            Array->Free();
            ShowMessage(buffer);//выводит только первое слово
3)fopen
C++
1
2
3
4
5
6
7
8
9
    char *buffer = NULL;
    int size;
    FILE *f = fopen("example.bin", "rb");
    fseek(f, 0, SEEK_END);
    size = ftell(f);
    rewind(f);
    buffer = malloc(size);
    fread(buffer, 1, size, f);
    ShowMessage(buffer);//выводит только первое слово
4)TStringList
C++
1
2
3
4
    TStringList *file = new TStringList;
    file->LoadFromFile("example.bin");
    String buffer=file->Strings[0];
    ShowMessage(buffer);//выводит только первое слово
Пробовал вот так:
C++
1
2
3
4
5
6
7
8
   ifstream f ("example.bin", ifstream::binary);
   string a = "";
   int i = 0;
   while (!f.eof() && i < 256) {
     getline(f, a);
     i++;
     ShowMessage(a.c_str());//Выводит только 1-е слово
  }*/
Однако, другие файлы, таким-же образом, читаются полностью.
Подозреваю, что в файле присутствуют какие то недопустимые символы.
Подскажите пожалуйста, в чём может быть проблема
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru