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

Работа с фс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конструктор копирования http://www.cyberforum.ru/cpp-beginners/thread634855.html
Всем привет. У меня такая проблема: есть некий класс, допустим Test: class Test { protected: int value; public : Test(int v)
C++ Случайные(псевдослучайные) числа Здравствуйте! Я знаю, что было много тем по поводу рандомных чисел в С++.Но всё же. Возникла у меня проблема с получением большого кол-ва случайных(точнее псвдослучайных) чисел, которые меньше 10.Я прекрасно знаю про функцию rand() % 10, и знаю то, что ПЕРЕД ней надо юзать функцию srand().Но вот в чём прикол.Я всегда юзал srand(time(NULL)) в паре с rand() % 10, но при генерации более 1 числа... http://www.cyberforum.ru/cpp-beginners/thread634835.html
C++ Ошибка при вызове функции
В функции NewWords вызывается функция correct,при отладке я не могу войти в эту функцию,к тому же потом не выводится элементы объекта класса words и ID в программе на данный момент вызываются лишь 2 функции,которые я привёл #ifndef DICTIONARY_H #define DICTIONARY_H #include "StdAfx.h" class Dictionary { public:
генерирую случайные числа C++
srand(time(NULL)); rand()%10; Всем привет, генерирую случайные числа, подскажите, пожалуйста, почему при запуске приложения числа постоянно генерируются? Как можно сделать так, чтобы при каждом запуске приложение выводило только одно число? Спасибо большое!
C++ Как Увеличить шрифт элемента Edit Control http://www.cyberforum.ru/cpp-beginners/thread634826.html
Создал Візартом Edit Control но там слишком маленький шрифт. У меня программа через Edit выводит данные, для вывода использую SetDlgItemText(IDC_EDIT1,p->Weight); вот такое выражения, подскажите как сделать выводимые данные Больше. Добавлено через 29 минут С шрифтом разобрался теперь подскажите как сделать чтоб Надпись была по середине окно а не сверху Добавлено через 23 часа 47 минут...
C++ Реализация расширенного класса Integer Всем привет. Хочу реализовать аналог класса Integer в котором можно буде проводить операции с числами любой разрядности. Начал пока с написания функции сложения и вычитания. Возникли вопросы: 1)Можно ли числа хранить в строках? 2)В моей программе происходит ошибка в функции ReadStr(), когда происходит перевыделение памяти 2 раз. С перегрузкой оператор new пока незнаком и пытаюсь сделать... подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.08.2012, 23:41     Работа с фс
Mari-mari, вот немного переделанный код soon
на gcc 4.6.3 vs boost 1.46 скомпилировалось
Bash
1
g++ main.cpp -std=c++0x -lboost_filesystem -lboost_system
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <iostream>
#include <iterator>
#include <string>
#include <cerrno>
 
#include <boost/filesystem.hpp>
 
class directory_range
{
    typedef boost::filesystem3::directory_iterator bfs_dir_iter;
    bfs_dir_iter _itr;
 
public:
    directory_range(bfs_dir_iter&& itr): _itr(itr)
    {
    }
 
    bfs_dir_iter begin()
    {
        return _itr;
    }
 
    bfs_dir_iter end()
    {
        return bfs_dir_iter();
    }
};
 
int main()
{
    namespace bfs = boost::filesystem3;
 
    bfs::path p("/home/maxwe11/test/t");
    if(!bfs::is_directory(p))
    {
        std::cerr << "[ ERROR ] ";
        std::cerr << p << " isn't directory. Stopping...." << std::endl;
        return ENOENT;
    }
 
    const char* dirs[] = {"first", "second", "third", "fourth"};
 
    for(const auto& dir: dirs)
        try
        {
            bfs::create_directory(p / dir);
        }
        catch(const bfs::filesystem_error& e)
        {
                std::cerr   << "[ ERROR ] ";
                std::cerr   << (p / dir).filename()
                            << " is already exists and not directory. "
                            << "Stopping..." << std::endl;
                return ENOENT;
        }
 
    auto dirs_iter = std::begin(dirs);
    for(const auto& file: directory_range(bfs::directory_iterator(p)))
    {
        if(!bfs::is_regular_file(file))
        {
            std::cerr   << "[WARNING] ";
            std::cerr   << file.path().filename() << " isn't regular file. "
                        << "Go to the hell, I will not copy it." << std::endl;
        }
        else
        {
            if(bfs::exists(p / *dirs_iter / file.path().filename()))
            {
                std::cerr   << "[WARNING] ";
                std::cerr   << file.path().filename()
                            << " is already exists in " << *dirs_iter
                            << ". Skipping..." << std::endl;
                continue;
            }
 
            bfs::copy(file, p / *dirs_iter++ / file.path().filename());
            if(dirs_iter == std::end(dirs))
                dirs_iter = std::begin(dirs);
        }
    }
 
    return 0;
}
 
Текущее время: 20:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru