Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Определение числа строк и размера файла


Автор: Heltarion 12.6.2007, 15:56

M
Rodman
Модератор: Название темы должно содержать язык написания!

Помогите плиз, бьюсь над задачей, а толку ноль...


Описать функцию TextSize(Name) целого типа, возвращающую число строк в текстовом файле с именем Name. Если файл не существует, то функция возвращает -1. С помощью этой функции определить размер трех файлов с данными именами.

Автор: Damarus 12.6.2007, 16:00
Язык какой?

Автор: Heltarion 12.6.2007, 16:02
Язык: С++

Автор: Xenon 12.6.2007, 20:33
Ну если по простому:
Код

#include <iostream>
#include <fstream>

int TextSize(std::ifstream& file)
{
    int count = 0;
    while (true) 
    { 
        std::string buf;
        std::getline(file, buf, '\n');
        if ( file.fail() ) break;
        ++count;
    }
    return count;
}

int main(int argc, char* argv[]) 
{
    std::ifstream file("d:\\str.txt");
    std::cout << TextSize(file);
    std::cin.sync();
    std::cin.get();
    return 0;
}


Добавлено через 1 минуту и 43 секунды
Упс, не так реализовал. Вот:
Код

#include <iostream>
#include <fstream>

int TextSize(const std::string& Name)
{
    int count = 0;
    std::ifstream file( Name.c_str() );
    if ( !file.is_open() ) return -1;
    while (true) 
    { 
        std::string buf;
        std::getline(file, buf, '\n');
        if ( file.fail() ) break;
        ++count;
    }
    return count;
}

int main(int argc, char* argv[]) 
{
    std::cout << TextSize("d:\\str.txt");
    std::cin.sync();
    std::cin.get();
    return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)