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

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

Войти
Регистрация
Восстановить пароль
 
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
#1

Бесконечное чтение - C++

23.04.2013, 00:15. Просмотров 348. Ответов 4
Метки нет (Все метки)

Доброго всем времени суток. Я уже давно рыскаю по гуглу, форуму и книгам, но меня все же мучит вопрос: а как вот так взять и прочитать из файла неограниченное количество текста любого формата без использования конкатенации "ручками"? Почему в делфи можно читать в string сколько влезит, а в с++ нельзя, хотя возможностей у плюсов в этом плане должно быть больше?

Добавлено через 31 секунду
Если я выразился как-то некорректно, то поправьте меня или уточните) Рад всем ответам)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 00:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Бесконечное чтение (C++):

Бесконечное суммирование - C++
Получил задание по бесконечному суммированию но не как не могу разобраться как же это делается. Вот то что нам дал препод чтобы...

Бесконечное считывание строки - C++
Здравствуйте! Столкнулся со странной проблемой...Есть функция,которая считывает данные из файла, там есть такой кусок кода: ...

Бесконечное количество аргументов - C++
#include<iostream> #include<conio.h> using namespace std; void writeln(int count, ...) { int *p = &count; ...

Вычислить бесконечное суммирование - C++
Надо вычислить бесконечное суммирование с точностью "e", записать в таблицу полученные результаты. Ну вроде как я понял надо вводить...

Игра жизнь (бесконечное пространство) - C++
Надо сделать бесконечное пространство для игры "жизнь", примерно понимаю как это сделать, но что то не получается,надо в подпрограмму rules...

Бесконечное появление меню в консоли - C++
При попытке добавления записи через меню, меню начинает появляться в бесконечном количестве в консоли. Как исправить? Вроде проблема в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IrineK
Заблокирован
23.04.2013, 00:30 #2
Согласно http://www.cplusplus.com/reference/s...ring/max_size/
максимальная длина строки: 4294967291

Не бесконечность, конечно, но ... более чем достаточно )
Croessmah
Модератор
Эксперт CЭксперт С++
13132 / 7395 / 828
Регистрация: 27.09.2012
Сообщений: 18,217
Записей в блоге: 3
Завершенные тесты: 1
23.04.2013, 00:30 #3
Цитата Сообщение от metaluga145 Посмотреть сообщение
а как вот так взять и прочитать из файла неограниченное количество текста любого формата без использования конкатенации "ручками"
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
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstring>
char * findchar(char * str, char ch){
    for(;*str;++str)
        if (*str==ch) return str;
    return NULL;
}
 
 
int main(){
    std::ifstream file("input.txt",std::ios_base::binary);
    file.seekg(0,std::ios::end);
    int txtlen=file.tellg();
    file.seekg(0,std::ios::beg);
    char * txt=new char[txtlen+1];
    file.read(txt,txtlen);
    txt[txtlen]=0;
    char fstr[]="mceyu.lkgh";
 
    int slen=strlen(fstr);
    int * countchar=new int[slen];
    memset(countchar,0,slen*sizeof(*countchar));
    for(char *p=txt,*pf;*p;++p){
        if (pf=findchar(fstr,*p)) {
            ++(countchar[pf-fstr]);
        }
    }
    std::cout<<"Text:\n"<<txt;
    std::cout<<"\nFind:\n"<<fstr<<std::endl;
    for(int i=0;i<slen;++i){
        std::cout<<"Char "<<fstr[i]<<std::setw(5)<<countchar[i]<<std::endl;
    }
    delete [] countchar;
    delete [] txt;
    std::cin.get();
    return 0;
}
На подобии этого?

Не по теме:

бесконечность понятие растяжимое

metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
23.04.2013, 00:33  [ТС] #4
Croessmah, ну тут вроде есть неявная конкатенация...

Добавлено через 46 секунд
IrineK, и с помощью чего читать в стринг без ограничения и указания размера буфера?
IrineK
Заблокирован
23.04.2013, 01:51 #5
IrineK, и с помощью чего читать в стринг без ограничения и указания размера буфера?
getline:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <sstream>
#include <fstream>
 
using namespace std;
 
int main()
{   string S;
    
    fstream F ("license.txt", fstream::in);
    if(!F)  exit(1);
    
    getline(F,S,'\0');
    cout<<S;
    
    cin.get();
    return 0;
}
Миниатюры
Бесконечное чтение  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 01:51
Привет! Вот еще темы с ответами:

Проверка на бесконечное множество решений - C++
Написана проверка на бесконечность множества решений и решений не имеет для решения СЛАУ методом Гаусса. Проблема состоит в том, что когда...

Бесконечное выполнение одного и того же действия - C++
Аля Ваас! :-) А теперь к делу, есть код: #include &lt;iostream&gt; #include &quot;Windows.h&quot; using namespace std;

Написать цикл (перечисление от 10 до 0 повторялось бесконечное количество раз) - C++
Подскажите, что нужно дописать в программу,чтобы перечисление от 10 до 0 повторялось бесконечное количество раз (после нуля надо, чтобы a...

"Бесконечное" считывание из файла. ifstream; - C++
Суть такая, функция записывает в файл данные из моего списка, на каждую строку. вот эта функция: void outputFile(){ ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.04.2013, 01:51
Ответ Создать тему
Опции темы

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