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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
#1

Обращение к строкам файла по ее номеру - C++

23.03.2013, 17:39. Просмотров 631. Ответов 3
Метки нет (Все метки)

К примеру есть файл file.txt, написанный в текстовом редакторе, с таким содержанием
Кликните здесь для просмотра всего текста

The quick brown fox jumps over the lazy dog.
Jackdaws love my big sphinx of quartz.
The five boxing wizards jump quickly.

Можно ли как-то обратиться по номеру строки, чтобы вывести ее на экран.

Я понимаю, что нужно использовать seekg, read те
C++
1
2
3
char out[100];
file.seekg((n-1)*sizeof(out), file.beg);
file.read(reinterpret_cast<char *> (&out), sizeof(out));
Но если так делать, то сначала через мою программу нужно будет записать этот файл, а я хочу, чтобы можно было только прочитать, и при этом написать этот файл в блокноте. Если строки должны быть одинаковой длины, то пусть она равняется 100 символам.
Как такое сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 17:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обращение к строкам файла по ее номеру (C++):

Чтение по строкам из текстового файла - C++
Как взять каждую строку из файла и присвоить каждой свою переменную? Содержание файла: intro 80 4 114 76

Произвольный доступ к строкам файла - C++
Дан файл , содержащий сведения об учениках школы. Нужно поочередно выводить информацию из файла на экран или передать ее в структуры .Но...

Считывание из файла по номеру строки - C++
Есть задача получить Event по номеру, из txt файла, то есть выводится такое сообщение: void UpdateFile() { std::cout &lt;&lt; &quot;Вывод всех...

Получить строку файла по номеру - C++
Добрый день ,подскажите пожалуйста можно ли с помощью класса fstream получать строку из файла по указанному номеру ? К примеру, ниже код...

По заданным номеру масти и номеру достоинства карты определить полное название - C++
народ есть задания: 1. Мастям игральных карт условно присвоены слеующие порядковые номера: масти &quot;пики&quot; — 1,.масти &quot;трефы&quot; — 2, масти...

Обращение к структуре из другого файла - C++
У меня есть 2 класса: Windows (окна) - содержащий ссылки на окна, и обрабатывающий события мыши Window (окно) - содержит спрайты и...

3
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
23.03.2013, 18:34 #2
seekg и read - это вроде для бинарных файлов. Можно так:
C++
1
2
3
4
5
6
    std::size_t pos = 3; // Г*ГіГ¦Г*Г*Гї ïîçèöèÿ
    char str[300];
    std::ifstream f("text.txt");
    for (int i=0; i != pos; ++i)
       f.getline(str, 100);
    std::cout<<str;
2
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 18:56  [ТС] #3
BumerangSP, Этот вариант подходит, если в файле максимум 20 строк, последовательный доступ, обрабатываться будет долго. А мне нужно чтобы доступ к строкам файла был как доступ к элементам массива. Конечно для этого есть базы данных, но для моей задачи это ужу чересчур.
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.03.2013, 21:03 #4
Произвольный доступ только через seekg/seekp. Если строки произвольной длины, то сразу попасть в начало заданной строки не получится. Потребуется некий перебор символов/строк: например, поиск и подсчёт '\n'.
1
23.03.2013, 21:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 21:03
Привет! Вот еще темы с ответами:

Обращение посимвольно к строки из файла - C++
Нужно считать с файла строки по типу, как ниже, но как после этого обратится к конкретному символу. Допустим 5й элемент сделать верхнего...

Не копируется структура C++ (по введеному номеру телефона удалить информацию из файла) - C++
Рабочий код: Структура в заголовочном файле: struct contact{ int ID; std::string Name; std::string Surname; std::string...

Заполнить матрицу так, чтобы элемент в нечетной строке был равен номеру столбца, а в четном — номеру строки - C++
Помогите пожалуйста решить задачу. Заполнить целочисленную квадратную матрицу 10х10 так, чтобы каждый элемент в нечетной строке равен...

Составить программу, которая по введенному номеру месяца и номеру года выводит количество дней в этом месяце(использовать операторы printf и scanf) - C++
Составить программу, которая по введенному номеру месяца и номеру года выводит количество дней в этом месяце(использовать операторы printf...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.