Как мне прочитать определенную позицию в файле в каждой строке для C ?

#c #file

#c #файл

Вопрос:

Извините, если этот вопрос звучит знакомо, я просто не знал, как сформулировать его конкретно, но то, что я хочу сделать, это передать, например, каждое шестое значение в строке файла в массив. Но я не уверен, как получить это конкретное значение.

Например number.txt файл содержит: Строка 1: 1 6 7 8 7 9 Строка 2: 2 5 7 6 5 4

Допустим, я хочу получить 9 из первой строки, а затем получить 4 из второй строки, как мне это сделать? Кроме того, как мне захватить только первые 5 элементов в первой строке и второй строке, исключая шестой? Спасибо.

Комментарии:

1. Вы должны показать, что вы пробовали до сих пор.

2. Шаг 1) определите отдельные строки. Шаг 2) определите отдельные смещения в пределах данной строки.

Ответ №1:

Вы можете установить текущую позицию ввода для std::ifstream with seekg . Но более практичным решением было бы прочитать все содержимое и отфильтровать его внутри вашей программы.

Комментарии:

1. Например, сначала поместить все значения в массив, а затем из этого массива получить конкретное значение, которое я хочу, используя цикл for, чтобы сохранить его в другой массив? Я думал об этом методе, но не был уверен.

2. @DiegoPadua, да, что-то в этом роде. Возможно, вы захотите использовать seek для работы с действительно большими файлами, но вам нужен какой-то способ узнать, где читать. Обычно это означает, что вы будете читать файл в двоичном формате, предназначенном для этой цели.