Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2015, 22:54   #21
mibin
Пользователь
 
Регистрация: 29.01.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Передавай параметром. Если параметр -1 - то использовать strlen() для определения, если положительное число - то считать его за длину строки.
Ну да, либо так либо всегда определять размер буфера заранее и передавать ее
mibin вне форума Ответить с цитированием
Старый 30.03.2015, 06:46   #22
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Можно так размер передавать
Код:
void proc(vector<char> &buf)
{
    cout << "[PROC] Size = "   << buf.size() << endl;
}

int main()
{
        FILE *f;
        f = fopen("C:\\10004.jpg", "r");

        fseek(f, 0, SEEK_END);
        long fsize = ftell(f);
        rewind(f);

        vector<char> buf(fsize);
        fread(buf.data(), sizeof(char), fsize, f);

        fclose(f);

        cout << "File size = " << fsize << endl;
        proc(buf);

        int i;
        cin >> i;
}
220Volt вне форума Ответить с цитированием
Старый 30.03.2015, 08:35   #23
mibin
Пользователь
 
Регистрация: 29.01.2009
Сообщений: 22
По умолчанию

Хм...а вот это уже интересно сегодня вечером проведу испытания на боевой моделе и отпишусь спасибо. Я верил что нет безвыходных путей
mibin вне форума Ответить с цитированием
Старый 30.03.2015, 21:08   #24
mibin
Пользователь
 
Регистрация: 29.01.2009
Сообщений: 22
По умолчанию

Провел испытания...вроде бы все работает...даже круто..вот только интересны нагрузочные испытания...на сколько сильно это будет утяжелять ведь скорость для меня имеет не последнее значение но спасибо за совет, постараюсь его развить
mibin вне форума Ответить с цитированием
Старый 31.03.2015, 10:27   #25
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Если для полученного массива применяете reinterpret_cast или c-cast, то нужно разбираться с type aliasing и выравниванием. Так, на всякий случай, а то в примере читается совсем не текст.
220Volt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить размер физического диска? Robin_ Общие вопросы Delphi 7 18.01.2016 07:11
Как определить размер видеостраницы axeforever12009 Помощь студентам 2 18.06.2013 17:01
Как определить размер структуры stpdqstns Общие вопросы C/C++ 10 30.01.2013 19:02
неопределённый размер строки типа char _KUL Общие вопросы C/C++ 4 16.05.2012 19:54
Как в Delphi определить размер файла? Nomad Помощь студентам 7 10.08.2010 08:33