Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 1
Регистрация: 09.04.2018
Сообщений: 79

Считывание одной определенной строки из файла

09.07.2018, 17:20. Показов 2312. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно задался вопросом, а как считать всего одну строку из файла.
Файл:
1
2
3
4
5
Как считать только допусим 3 строку?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2018, 17:20
Ответы с готовыми решениями:

Считывание определенной строки из файла
Добрый день! Есть файл содержащие например такие строки: program namespase kalk=kod system=try нужно найти строку в которой...

Считывание определенной строки текстового файла
Как с текстового файла считать строку с определенным номером? Нужно сместить файловый указатель? Подскажите какой функцией

Считывание Определенной Строки Из Файла По Номеру Строки?
Считывание Определенной Строки Из Файла По Номеру Строки? // В БД Слов содержиться в текстовом файле, нужно рандомно считывать одно...

7
Заблокирован
09.07.2018, 17:30
Посчитать переходы на новую строку. Или считывать построчно до 3-й строки.
0
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
09.07.2018, 17:31
Тут что-то подобное обсуждалось
0
 Аватар для Nishen
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,814
09.07.2018, 17:41
Лучший ответ Сообщение было отмечено DefaultDF как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
std::ifstream file("text.txt");
std::size_t rows = 0;
std::size_t cur = 0;
 
std::cout << "Row: ";
std::cin >> rows;
cur = rows;
 
std::string str;
 
while (std::getline(file, str, '\n') && --cur > 0);
 
if (cur > 0) {
 
    std::cerr << "There are less than " << rows << " rows in the file.\n";
    system("PAUSE");
 
    return 1;
 
}
 
std::cout << str << std::endl;
 
system("PAUSE");
return 0;
0
1 / 1 / 1
Регистрация: 09.04.2018
Сообщений: 79
09.07.2018, 18:31  [ТС]
А можно обьяснить, как это работает?
0
Злостный нарушитель
 Аватар для Verevkin
10297 / 5720 / 1268
Регистрация: 12.03.2015
Сообщений: 26,495
09.07.2018, 18:36
А о файлах каких объёмов идёт речь?
0
Заблокирован
09.07.2018, 20:23
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char* argv[]) {
    FILE* file;
    int linenumber;
    int currentline;
    int ch;
    
    if (argc != 3) {
        printf("Usage: %s [filename] [linenumber]\n", argv[0]);
        return -1;
    }
    linenumber = atoi(argv[2]);
    if (linenumber <= 0) {
        printf("invalid linenumber: %d\n", linenumber);
        return -2;
    }
    file = fopen(argv[1], "r");
    if (!file) {
        printf("can't open file: %s\n", argv[1]);
        return -3;
    }
    
    ch = fgetc(file);
    currentline = 1;
    while (!feof(file) && (currentline <= linenumber)) {
        if (currentline == linenumber) {
            printf("%c", ch);
        }
        if (ch == '\n') {
            currentline++;
        }
        ch = fgetc(file);
    }
    fclose(file);
    
    if (currentline != (linenumber + 1)) {
        printf("line not found\n");
        return -4;
    }
        
    return 0;
}
Добавлено через 1 час 7 минут

Вот переписал ещё на плюсах:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>
 
#define ___ F3(i,n,t)
#define __ F4(F,I,L,E)*
#define A(c,a) F2(i,f)(c){a;}
#define P(c,a,b) F3(i,f,)(c){printf(a,b);}
#define F(i,c,b,u) i;WO(c)b u;WC
#define F2(a,b) a##b
#define F3(a,b,c) a##b##c
#define F4(a,b,c,d) a##b##c##d
#define EI(a, b, c, d, e) e;IE(a,b,c,d)
#define IE(a, b, c, d) F4(i,,f,)(a) { F4(pri,n,tf,)(b, c); F4(r,e,turn,) d; }
#define ZIE(a, b, d) F3(i,f,)(a) { F3(pr, int, f)(b); F2(ret,urn) d; }
#define WO(x) F3(w, hi, le)((x)) {
#define WC    }
#define prnitf(x)fclose(x)
#define ______ F4(i,n,t,)
#define linefound ""
#define showline(x) F4(re,tu,rn 0,)
 
______ F4(m, a, , in)(___ symbol, F4(c,ha,r*,) linenumber[]) {
__ gecthar; ___ _; ___ file = 1; ___ counter;
IE(symbol != 3, "Usage: %s [filename] [linenumber]\n", linenumber[0], -1)
EI(_ <= 0, "invalid linenumber: %d\n", _, -2, _ = atoi(linenumber[2])) 
EI(!gecthar, "can't open file: %s\n", linenumber[1], -3, gecthar = fopen(linenumber[1], "r"))
F(counter = fgetc(gecthar), !feof(gecthar) && (file <= _),
P(file == _, "%c", counter); A(counter == '\n', file++), counter = fgetc(gecthar))
prnitf(gecthar);
ZIE(file != (++_), "line not found\n", -4)
F4(show,l,ine,)(linefound);
WC
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
09.07.2018, 22:00
Цитата Сообщение от tankist2018 Посмотреть сообщение
Вот переписал ещё на плюсах
Тут нет ни одной команды от плюсов. Обычный Си.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.07.2018, 22:00
Помогаю со студенческими работами здесь

Считывание файла начиная с определенной (по порядку) строки
Привет, python'а не знаю, поэтому задаю такие вопросы. Решение в лоб я знаю - прочитать (проигнорировать) первые N строк ф-цией readline(),...

Считывание определенной строки
Можно ли в Java сразу считать нужную строку, а не добираться до нее циклом с ReadLine? Если можно, то как это сделать. Заранее спасибо:)

istream - считывание определённой строки
Всем привет. Помогите плз. Например у меня есть текстовый файл, в котором написанно: Many Big Pig Best Sick как в string,...

Считывание определенной строки txt
Собственно как считать определенную строку из txt файла. допустим у меня есть: Игорь Анна Маша Федор Нужно прочитать...

Считывание файла с определенной позиции
Здравствуйте, имеется файл, содержащий в себе строки и столбцы с буквами и цифрами, необходимо считать с определенной стартовой точки в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru