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

ifstream одсчет количества симолов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как поменять расширение .cs на .cpp? http://www.cyberforum.ru/cpp-beginners/thread325622.html
Всем привет! Подскажите как поменять расширение .cs на .cpp? Заранее спасибо
C++ сдвиги длинного числа влево и вправо на заданное количество цифр Добрый вечер. прошу поmощи в реализации программы. BigInteger.Используя перегрузку операторов, реализовать : сдвиги длинного числа влево и вправо на заданное количество цифр // (сдвиг вправо -... http://www.cyberforum.ru/cpp-beginners/thread325605.html
Бесконечная сумма C++
Доброго времени суток уважаемые форумчане, возникло такое задание: Даны действительные числа х и eps. Вычислите приближенно значение бесконечной суммы S. Приближение считается достигнутым, если...
Функция для просмотра ключа в реестре C++
Прошу Вас помочь разобраться с функциями реестра интересует просмотр реестра на наличие соответствующего ключа и его параметров.
C++ даты в реестре http://www.cyberforum.ru/cpp-beginners/thread325542.html
подскажите пожалуйста, как можно записать в реестр дату первого запуска программы и как сравнить текущую дату с этой датой первого запуска
C++ Матрица, перегрузка операторов Дня доброго. Есть такая вот задачка: 24.02.Создать класс для работы с матрицами. Предусмотреть, как минимум, функции для сложения матриц, умножения матриц, транспонирования матриц, присваивания... подробнее

Показать сообщение отдельно
Глупец
23 / 23 / 1
Регистрация: 17.05.2011
Сообщений: 141

ifstream одсчет количества симолов - C++

24.06.2011, 20:36. Просмотров 1139. Ответов 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
std::ifstream ifs;
    ifs.open("text2.txt");
    char* s_buf=new char[1024];
    char** buf;
    long i=0;
    //подсчет количества строк
    while(ifs){
        ifs.getline(s_buf,1024);
        if (0 == ifs.gcount())break;
        i++;
    }
    buf=new char*[i];//выделили память под строки
    i=0;
    ifs.seekg(0,std::ios::beg);//вроде как встали в начало
    while(ifs){
        ifs.getline(s_buf, 1024);//эта фигня отказыается считывать, почему???
        if (0 == ifs.gcount())break;
        buf[i]=new char[strlen(s_nuf)+1];
        strcpy(buf[i],s_buf);
        i++;
    }
 
    for(;i>=0;i--)std::cout<<buf[i]<<std::endl;
но как-то по другому придумать не могу, хотя можно его закрыть, потом открыть и считать...но не уже ли без этого не обойтись?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru