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

write - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание переменных в цикле http://www.cyberforum.ru/cpp-beginners/thread936681.html
Здравствуйте, меня интересует вопрос - насколько операция создания переменных быстра. есть функция рендеринга, которая выполняется несколько сотен раз в секунду, стоит ли выносить временные переменные за функцию, или это практически не имеет смысла? например вместо void Camera::Render() { int a = ...; int b = ...; ..... }
C++ Кракозябры в консоли - почему? Добрый день. Почитав форум и статью про кодировки вообще я задался парой вопросов. Ладно, мне более менее ясно, почему возникают кракозябры (win1251 -> OEM 866). Но неясно 2 момента: 1) Почему при вызове функции setlocale(LC_ALL, "Russian") работает вывод (и почему вообще это происходит?), но не работает ввод? 2) Почему при SetConsoleCP(1251) и SetConsoleOutputCP(1251) работает ввод и вывод, но... http://www.cyberforum.ru/cpp-beginners/thread936669.html
C++ Узнать начало файла
Как узнать начало файла? ( Указатель на память )
C++ Защита флеш накопителя
Наткнулся на прогу по защите флеш накопителей. Алгоритм очень прост, активируете - и ВСЯ память до 0 флешки заполняется, деактивируете и можно записывать на флешку, память восстанавливается. Есть баг, после активации окошко exe не закрывается, захотел написать самостоятельно. Вопрос вот в чем, как можно на С++ сделать так, чтобы прога заполнила всю память локального или съемного диска, в...
C++ Отправка почты из формы http://www.cyberforum.ru/cpp-beginners/thread936627.html
Я могу программой отправлять собранные данные на почтовый адрес, к примеру, *@yandex.ru? И как мне это реализовать? Я создаю клиент для игры, и в его функционал будет входить отправка статистической информации о количестве загрузок, выбранных параметрах, и т. п. Предупрежу: mailto работает не совсем так, как хотелось бы.
C++ отсортировать массив Здравствуйте форумчане! Суть задачи такова, допустим дан массив от 1 до n, нам надо отсортировать все числа и записать их в новые массивы Пример. массив 1..9 1 2 5 1 2 5 3 1 вывод 1 1 1 22 5 3 подробнее

Показать сообщение отдельно
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.08.2013, 20:54     write
Возможно, такой вариант подойдет по условию задачи:
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
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
#include <windows.h>
 
class ReadWrite
{
protected:
    std::fstream& stream_;
    std::string::size_type length;
public:
    ReadWrite(std::fstream& fs) : stream_(fs), length(0) {}
    virtual ~ReadWrite() = 0;
};
 
ReadWrite::~ReadWrite() {}
 
class Write : public ReadWrite
{
public:
    Write(std::fstream& fs) : ReadWrite(fs) {}
    void operator()(const std::string& obj)
    {
        length = obj.size();
        stream_.write((const char*)&length, sizeof(length)).write(obj.data(), length);
    }
};
 
class Read : public ReadWrite
{
public:
    Read(std::fstream& fs) : ReadWrite(fs) {}
    void operator()(std::string& obj)
    {
        if (stream_.read((char*)&length, sizeof(length)))
        {
            obj.resize(length);
            stream_.read(&obj[0], length);
        }
    }
};
 
int main()
{
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
 
    std::vector<std::string> words {"One", "Two", "Three", "Four"};
    std::fstream fs("file.bin", std::ios_base::out | std::ios_base::binary);
    std::for_each(words.begin(), words.end(), Write(fs));
    fs.close();
 
    std::vector<std::string> words_from_file(words.size());
    fs.open("file.bin", std::ios_base::in | std::ios_base::binary);
    std::for_each(words_from_file.begin(), words_from_file.end(), Read(fs));
    fs.close();
 
    for (auto& str : words_from_file) std::cout << str << std::endl;
 
    std::cout << std::endl;
    return 0;
}
 
Текущее время: 15:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru