| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Чтение из файла |
| Автор: Recev 4.3.2011, 18:40 | ||
Есть *.txt файл. В нем хранятся два числа в таком виде:
Нужно считать эти два числа в две переменные типа int. Подскажите как это сделать, никогда толком не работал с файлами(. |
| Автор: KaraKum 4.3.2011, 18:42 | ||||
В этом случае лучше всего прочитать полностью строку, а потом разбить её на две части используя "/" как делитель.
Добавлено @ 18:45 Для парсинга можно использовать boost::tokenizer, но это, конечно, избыточно для такой маленькой задачки если он в проекте ещё не используется. Если формат строк гарантированно будет таким, то ещё проще:
|
| Автор: Recev 4.3.2011, 18:55 | ||
Не работает толком. Выводит непонятно что. |
| Автор: KaraKum 4.3.2011, 19:11 | ||
| Хм, да - "/" не является разделительным символом для парсера - вот с пробелом работает. Придётся тогда читать строку и разбивать:
|
| Автор: Recev 4.3.2011, 19:58 | ||||
Не работает. А если числа будут в формате:
Хоть как нибудь помогите сделать. |
| Автор: KaraKum 4.3.2011, 20:03 | ||||||
| Код работает - я проверял. Слэш точно прямой? Может обратный - "\" ? Если
то это также как и
в обоих случаях читать нужно будет так:
Добавлено через 52 секунды При этом во втором случае между числами может быть произвольное количество пробелов. |
| Автор: Recev 4.3.2011, 20:32 | ||
| А у меня выводит не содержимое файла, а какие-то числа. Вот даже один символ с файла не может прочитать (может дело в компиляторе? Пользуюсь Embarcadero C++ Builder XE):
|
| Автор: GorbunovDiman 4.3.2011, 20:51 | ||
Как вариант могу предложить следующее:
В олимпиадных задачах прокатывало! |
| Автор: Recev 4.3.2011, 20:58 | ||
Результат: а=1 b=256 Файл: 15/22 О_о |
| Автор: rudvil 4.3.2011, 22:39 | ||||||
|
| Автор: KaraKum 4.3.2011, 22:53 |
| А кодировка, случайно, не unicode? |
| Автор: GorbunovDiman 5.3.2011, 15:20 | ||||||
Для Unicode строку
надо дублировать или изменить на
|