![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Есть *.txt файл. В нем хранятся два числа в таком виде:
Нужно считать эти два числа в две переменные типа int. Подскажите как это сделать, никогда толком не работал с файлами(. |
|||
|
||||
KaraKum |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
В этом случае лучше всего прочитать полностью строку, а потом разбить её на две части используя "/" как делитель.
Добавлено @ 18:45 Для парсинга можно использовать boost::tokenizer, но это, конечно, избыточно для такой маленькой задачки если он в проекте ещё не используется. Если формат строк гарантированно будет таким, то ещё проще:
Это сообщение отредактировал(а) KaraKum - 4.3.2011, 18:49 |
||||
|
|||||
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Не работает толком. Выводит непонятно что. |
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Хм, да - "/" не является разделительным символом для парсера - вот с пробелом работает.
Придётся тогда читать строку и разбивать:
|
|||
|
||||
Recev |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Не работает. А если числа будут в формате:
Хоть как нибудь помогите сделать. |
||||
|
|||||
KaraKum |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Код работает - я проверял.
Слэш точно прямой? Может обратный - "\" ? Если
то это также как и
в обоих случаях читать нужно будет так:
Добавлено через 52 секунды При этом во втором случае между числами может быть произвольное количество пробелов. |
||||||
|
|||||||
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
А у меня выводит не содержимое файла, а какие-то числа.
Вот даже один символ с файла не может прочитать (может дело в компиляторе? Пользуюсь Embarcadero C++ Builder XE):
|
|||
|
||||
GorbunovDiman |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 3.3.2008 Репутация: нет Всего: нет |
Как вариант могу предложить следующее:
В олимпиадных задачах прокатывало! |
|||
|
||||
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Результат: а=1 b=256 Файл: 15/22 О_о Это сообщение отредактировал(а) Recev - 4.3.2011, 20:59 |
|||
|
||||
rudvil |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: 2 Всего: 3 |
Это сообщение отредактировал(а) rudvil - 4.3.2011, 22:44 --------------------
xor |
||||||
|
|||||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
А кодировка, случайно, не unicode?
![]() |
|||
|
||||
GorbunovDiman |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 3.3.2008 Репутация: нет Всего: нет |
Для Unicode строку
надо дублировать или изменить на
|
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |