2 / 2 / 0
Регистрация: 22.05.2012
Сообщений: 41
1

Посимвольное считывание из файла

23.05.2012, 23:45. Показов 7817. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно считать данные из файла посимвольно, при этом не все подряд, а, например из 1й строчки с 5 символа, из 7 с 8 и тд.
Кол-во строчек заранее известно. Просто символ или строку считывать умею, а вот дальше сложнее.
Ничего не нашла по этой проблеме в интернете, если у кого есть ссылочка, поделитесь пожалуйста, а лучше конечно кусочек кода на С++ или на С.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2012, 23:45
Ответы с готовыми решениями:

Посимвольное считывание из файла
Добрый вечер уважаемые формучане. Помогите найти ошибку в коде программы, реализующей алгоритм...

Посимвольное считывание из файла в массив int
Вообщем есть файл с числами(там всегда будут числа). Примерно такого содержания Нужно по...

Посимвольное считывание из файла и проверка на наличие (+ показать количество операторов)
Условия задачи: Из файла необходимо считывать посимвольно (нельзя прочитать сразу весь файл или по...

посимвольное считывание
У меня есть переменная типа string которая равна "000000000000". Мне нужно программно превратить ее...

4
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
23.05.2012, 23:59 2
самый банальный вариант - поставить файловый курсор на нужное место с помощью функций
fseek( C ) http://www.cplusplus.com/refer... dio/fseek/
seekg( C++ ) http://www.cplusplus.com/refer... eam/seekg/
0
2 / 2 / 0
Регистрация: 22.05.2012
Сообщений: 41
24.05.2012, 00:28  [ТС] 3
Попробовала, не работает(
Может где ошибка?
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
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int c;
    char a;
    long int i;
    FILE *stream;
    stream = fopen("tek2.txt", "r");
    if (stream == NULL)
        return (1);
 
    fseek (stream, 4 ,SEEK_SET);
        long int ftell(FILE *stream);
 
    for ( i=ftell(stream); i<20; i++)
 {
     fseek (stream, i ,SEEK_SET);
         a = getc(stream);
  while ( a != NULL)
        cout << a << endl;
 }
    fclose(stream);
    getch();
    return 0;
}
0
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
24.05.2012, 02:23 4
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
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int c;
    char a;
    long int i;
    FILE *stream;
    stream = fopen("tek2.txt", "r");
    if (stream == NULL)
        return (1);
 
    fseek (stream, 4 ,SEEK_SET);
 
    for ( i=0; i<20; i++)
 {
        a = getc(stream);
        cout << a << endl;
 }
    fclose(stream);
    getch();
    return 0;
}
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
24.05.2012, 02:40 5
А какие данные хранятся в файле?
Если данные одного типа ( то есть размера) то можно применять произвольный доступ c помощью fseek().
Если нет то возможно легче читать файл целиком на пример в std::vector<std::string>
0
24.05.2012, 02:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2012, 02:40
Помогаю со студенческими работами здесь

Посимвольное чтение из файла
Всем добрый вечер (ночь)! Так сложилась ситуация что нужно мне посимвольно считать текст из файла...

Посимвольное чтение файла в вектор
Вечер добрый. Есть файл sir.in.txt, содержащий строку ABC; посимвольно записываю его в вектор...

Посимвольное сравнение строк из текстового файла
В общем, есть такое задание такое задание. &quot;В каждой строке текстового файла записаны фамилия, имя...

Заменить считывание с клавиатуры на считывание из файла
Помогите пожалуйста, ни разу не работал со считыванием из файла поэтому не понимаю как и что...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru