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

Построчное чтение файла в C++ Builder 6 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 01:59     Построчное чтение файла в C++ Builder 6 #1
Есть кусок кода консольного приложения, слова заносим в массив строк (писал в Dev C++)
C++
1
2
3
4
5
6
    ifstream w("words.txt");
    string wordBase[26800];
    for(int i = 0; i < 26800; i++)
    {
        w >> wordBase[i];
    }
Нужно сделать так, чтобы это заработало в билдере. Код компилируется без ошибок, но в массив ничего не записывается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 01:59     Построчное чтение файла в C++ Builder 6
Посмотрите здесь:

Построчное чтение из файла C++
построчное чтение из файла C++
C++ Построчное чтение из файла!
C++ построчное чтение из файла
Построчное чтение файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 02:48     Построчное чтение файла в C++ Builder 6 #2
words.txt существует?
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 10:55  [ТС]     Построчное чтение файла в C++ Builder 6 #3
Точно, извиняюсь, забыл положить его в каталог с программой. Но теперь другая проблема - в 0 элемент записало первые 535 слов, во все остальные записало одно и тоже: первые 13 слов, первая буква 14-го и абракадабра (см прикрепленный файл, пробелы добавил для наглядности).
Проверял так:
C++
1
Memo2->Lines->Add(wordBase[10000]);
Миниатюры
Построчное чтение файла в C++ Builder 6  
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 10:57  [ТС]     Построчное чтение файла в C++ Builder 6 #4
В Dev C++ все работало нормально, каждое слово заносилось в отдельный элемент.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 18:42     Построчное чтение файла в C++ Builder 6 #5
Без того, что в файле тут не разобраться.

Добавлено через 1 минуту
Вам что нужно в массив записывать: слова или строки(несколько слов, в конце которых '\n' или '\0')?
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 21:31  [ТС]     Построчное чтение файла в C++ Builder 6 #6
alsav22, слова. Каждое слово в отдельной строке.
Вложения
Тип файла: rar words.rar (505.3 Кб, 18 просмотров)
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 21:59  [ТС]     Построчное чтение файла в C++ Builder 6 #7
TOTAL_WORDS - константа, количество слов.
Миниатюры
Построчное чтение файла в C++ Builder 6  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 22:05     Построчное чтение файла в C++ Builder 6 #8
#include <string> присутствует?

Добавлено через 2 минуты
Цитата Сообщение от rusl31 Посмотреть сообщение
в 0 элемент записало первые 535 слов
В одну строку 535 слов? Так?
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 22:14  [ТС]     Построчное чтение файла в C++ Builder 6 #9
#include <string> присутствует

Цитата Сообщение от alsav22 Посмотреть сообщение
В одну строку 535 слов? Так?
Верно
Миниатюры
Построчное чтение файла в C++ Builder 6  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 22:29     Построчное чтение файла в C++ Builder 6 #10
Цитата Сообщение от rusl31 Посмотреть сообщение
#include <string> присутствует
???
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 22:33  [ТС]     Построчное чтение файла в C++ Builder 6 #11
Цитата Сообщение от rusl31 Посмотреть сообщение
#include <string> присутствует
есть, подключена
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 22:34     Построчное чтение файла в C++ Builder 6 #12
Все инклюды покажите на скрине.
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 22:50  [ТС]     Построчное чтение файла в C++ Builder 6 #13
Собрал в архив весь комплект, так вам будет удобней Вобщем, задача - переделать консольный вариант в интерфейсный.
Миниатюры
Построчное чтение файла в C++ Builder 6  
Вложения
Тип файла: rar brute.rar (1.53 Мб, 15 просмотров)
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 23:04  [ТС]     Построчное чтение файла в C++ Builder 6 #14
И да, не сказал, программа расшифровывает щифр Цезаря, перебирает ключи и ищет слова(которые должны быть в массиве wordBase)
Цитата Сообщение от rusl31 Посмотреть сообщение
Вобщем, задача - переделать консольный вариант в интерфейсный.
Но мне не нужно было бы этого делать, если бы не кривой русский язык в консоли. И setlocale( LC_ALL,"Russian" ) не помогает. Так что мне нужно либо заставить консоль нормально работать с русским языком, либо прикрутить интерфейс.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 23:12     Построчное чтение файла в C++ Builder 6 #15
Цитата Сообщение от rusl31 Посмотреть сообщение
setlocale( LC_ALL,"Russian" ) не помогает.
Так пробовали?
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 23:14  [ТС]     Построчное чтение файла в C++ Builder 6 #16
Цитата Сообщение от rusl31 Посмотреть сообщение
Так что мне нужно либо заставить консоль нормально работать с русским языком
В смысле нужно, чтоб она могла расшифровывать не только английский, но и русский текст. В файле words.txt 173030 слов, из них первые 26800 - английские
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 23:16     Построчное чтение файла в C++ Builder 6 #17
Цитата Сообщение от rusl31 Посмотреть сообщение
переделать консольный вариант в интерфейсный.
Тут помочь не смогу, тем более в Builder. Это код у меня вообще ничего не выводит в окне Builder. В студии это файл нормально читается и выводится. Что в Builder не так не знаю. Можете ещё попробовать изменить чтение на:
C++
1
 getline(w, wordBase[i]);
rusl31
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 21
27.02.2013, 23:42  [ТС]     Построчное чтение файла в C++ Builder 6 #18
Странные дела, вставил setlocale( LC_ALL,"Russian" ) и заработало А раньше было либо в массив записывалась абракадабра(без setlocale) либо если эту локаль включить, то в массив записалось нормально, но какие-то проблемы со сдвигом (при ключе n = 1 например, сдвиг у всех символов рандомный), искал разные способы, менял кодировку у вордс.тхт, намучился конкретно, вобщем. А тут раз, и заработало. Спасибо! Без вас я бы не вернулся и не перепроверил бы)
Миниатюры
Построчное чтение файла в C++ Builder 6  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2013, 23:52     Построчное чтение файла в C++ Builder 6
Еще ссылки по теме:

C++ Построчное чтение из файла
Построчное чтение файла в стиле С++ C++
C++ Построчное чтение из файла в структуру

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 23:52     Построчное чтение файла в C++ Builder 6 #19
Хоть так помог.
Yandex
Объявления
27.02.2013, 23:52     Построчное чтение файла в C++ Builder 6
Ответ Создать тему
Опции темы

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