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

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

Войти
Регистрация
Восстановить пароль
 
Carbon
0 / 0 / 0
Регистрация: 09.09.2009
Сообщений: 10
#1

Работа с текстовыми файлами неизвестног размера - C++

20.12.2009, 12:35. Просмотров 401. Ответов 8
Метки нет (Все метки)

Поискал на форуме, но не нашел.
Вопрос таков, как считать с строку char* текст из файла. Находил примеры, которые работают через потоки - получалось считывать построчно, но длина считываемой строки была ограничена.

Есть ли работающий вариант. В гугле искал, находил примеры, которые компилились, но в ходе считывания возниакло исключение acces violation.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 12:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с текстовыми файлами неизвестног размера (C++):

Работа с текстовыми файлами - C++
Помоготи , пожалуйста : Создать текстовый файл и выполнить обработку текста в файле ... Пример : 2) Создать текстовый файл,...

Работа с текстовыми файлами - C++
Доброй ночи. Будте добры, помогите сделать задачу с файлами. Теоретически понимаю что нужно делать, а программно реализовать не могу( ...

Работа с текстовыми файлами - C++
Здравствуйте! Как подсчитать количество букв, которые встретились в тексте двойными? Помогите пожалуйста Добавлено через 23 минуты ...

Работа с текстовыми файлами - C++
Здравствуйте, уважаемые !!! Появились проблемы во время решения задачи. Никак не могу решить проблему. Задача такова: Существует...

Работа с текстовыми файлами - C++
Добрый вечер. Дан текстовый файл. Найти количество строк, которые начинаются с данной буквы.

Работа с текстовыми файлами си++ - C++
#include "stdafx.h" #include <iostream> #include <string> #include <string.h> #include <math.h> #include <fstream> #include...

8
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.12.2009, 13:04 #2
http://www.cplusplus.com/reference/string/getline/
считывает строку не ограниченного размера.
0
Carbon
0 / 0 / 0
Регистрация: 09.09.2009
Сообщений: 10
20.12.2009, 13:15  [ТС] #3
Цитата Сообщение от niXman Посмотреть сообщение
http://www.cplusplus.com/reference/string/getline/
считывает строку не ограниченного размера.
А из файла как?
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.12.2009, 14:09 #4
C++
1
infile.getline(); cin.getline(l, sizeof l);
0
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.12.2009, 14:11 #5
Цитата Сообщение от Carbon Посмотреть сообщение
А из файла как?
а приведенный мною пример разве из космоса читает строку?
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.12.2009, 14:25 #6
они разные
строку char* текст из файла
0
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.12.2009, 14:43 #7
Цитата Сообщение от accept Посмотреть сообщение
они разные
ах вот в чем дело а зачем в с++ использовать символьные массивы?
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.12.2009, 01:46 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#include <iostream>
 
using namespace std;
 
int main(void)
{
    char *p;
    
    p = new char[100];
    
    cin.getline(p, 10, '.');
    
    cout << p << endl;
    
    delete [] p;
    
    return 0;
}
а для string как ?
0
Gravity
563 / 557 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
21.12.2009, 02:20 #9
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
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    FILE *ifp;
    int i, c, maxline = 512;
    char *line;
 
    if( (ifp = fopen("in.txt", "r")) == NULL) {
        perror("fopen");
        return 1;
    }
 
    line = (char *) malloc(maxline);
    for(i = 0; (c = getc(ifp)) != EOF; i++) {
        if(i >= maxline-1) {
            maxline *= 2;
            line = (char *) realloc(line, maxline);
        }
        line[i] = c;
    }
    line[i] = '\0';
    fclose(ifp);
 
    printf("file:\n%s\n", line);
    free(line);
    return 0;
}
0
21.12.2009, 02:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2009, 02:20
Привет! Вот еще темы с ответами:

Работа с текстовыми файлами - C++
Я пишу свой календарь,и у меня задание считать из текстового файла .txt информацию.В текстовом файле записана дата в формате day.month.year...

Работа с текстовыми файлами - C++
Дан файл f компонентами которого являются целые числа.В файл g переписать все неположительные компонетны f кратные 8.

Работа с текстовыми файлами. - C++
Здравствуйте)) Не могли бы Вы мне помочь с такой задачей:создать текстовый файл. Найти номер самой длинной строки. Создавать файлы я...

Работа с текстовыми файлами - C++
Пожалуйста, помогите с задачей: Дан файл f, компоненты которого являются действительными числами. Найти: 1.наибольшее из значений...


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

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

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