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

Проклятые потоки. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Захват видео с web-камеры http://www.cyberforum.ru/cpp-beginners/thread367004.html
Добрый день!Подскажите как лучше всего работать с web-камерой на С++. Какие библиотеки использовать, может есть какие-либо книги или статьи? Хочу реализовать программу которая будет осуществлять захват видео с удаленного хоста..
C++ сравнение значения в файле с вводимым вобщем задача в том чтобы состоялась проверка вводимого значения с содержащимся в файле,как сделать коректно эту проверку, подскажите пожалуйста. p.s. на кучу библиотек и переменных не обращайте внимания, они нужны для реальной работы программы, а не тестовой #include "stdafx.h" #include <stdio.h> #include <math.h> #include <iostream> #include <string.h> using namespace std; //int cool... http://www.cyberforum.ru/cpp-beginners/thread367003.html
C++ Найти радиусы вписанной и описанной окружностей треугольника
Задания для самостоятельной работы 1. Линейный вычислительный процесс 1. Треугольник задан длинами сторон. Найти длины высот. 2. Треугольник задан длинами сторон. Найти радиусы вписанной и описанной окружностей. 3. Хозяин хочет оклеить обоями квартиру. Определить количество необходимых рулонов и затрат на их приобретение. 4. В некотором треугольнике основание больше высоты на заданную...
C++ Решение 2 математических примеров на C++
Помогите решить данные задачи, как можно понятнее. Наградой будет 100 рублей на телефон, конечно маловато но возможности дать больше нет.
C++ запись в файл http://www.cyberforum.ru/cpp-beginners/thread366993.html
у меня есть программа которая использует плагины (20 плагинов) работающих одновременно. каждый плагин имеет свою длл(каждая длл имеет просто другое имя но так они идентичны). плагины пишут в файл при выходе из программы функции запись храняться в длл. char name = "C:\\fc\\name.txt"; char tbuf ;//. char buf ; int fpointer; DWORD err;//. DWORD fcount;
C++ Найти первый вход элемента Задача: найти первый вход элемента массива В в массив А. На входе подаются два массива: массив А и массив В. Требуется вывести индекс массива В, где первый раз встретился похожий элемент. Например: А: 1 2 3 4 5 6 В: 1 2 3 4 5 Выведет ответ 0, т.к. первый вход массива В в массив А это 1, а она на нулевой позиции. Вот моя функция, которая неправильно выводит ответ. подробнее

Показать сообщение отдельно
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
16.10.2011, 08:59     Проклятые потоки.
Нахрена? я изучал и читал и не нашел плюсов. смотрите:
Я создал поток, подключил в него буфером строку для парсинга:
Код
    -1
   151
Scan3.svd

PSV Version 8.7.2.2
06-Oct-11 18:00:49  
None      None      
PolyUFFExport 2.0.1.0 - Compatible to LMS
10-Oct-11 18:56:20 
    -1
" -1" - строка которой начинается и заканчивается блок, 151 - константа определяющая тип блока. Мне надо считать строки 3, 5, 6, 8 и 9 в соответствующие std::string. И ещё сделать проверочку. Пускай, самую грубую. Скажем, проверить, начинается ли мой блок с -1 и известен ли мне тип 151.
-1 как число интерпретировать нельзя, так как стандарт файла предусматривает ранение целых чисел в текстовом виде и -1 может оказаться по причинам не связанным с пометкой начала блока. Следовательно, я обязан проверить всю строку. т. е.
C++
1
2
std::getline(stream, buf);
if(buf != std::string("    -1")) { /*Генерация ошибки*/ }
Но, в буфере не содержится строка равная " -1", там содержится она же но с ещё одним символом в конце. Символ имеет числовой эквивалент 13 и не является '\n', что ещё можно было бы понять. Т. е. в конструктор я строку равную получаемой передать не могу. Так же, не могу оптимизировать сравнение приготовив
C++
1
const static std::string rightBlockSign("    -1");
так как я и инициализировать строку тоже не могу нормально. Изуверства типа
C++
1
2
static std::string rightBlockSign("    -1 ");
rightBlockSign[6] = 13;
тоже не помогают.
Думаете это конец бредятины? Ошибаетесь. Дальше больше:
Пуд соли съеден каждым хомячком желающим считать строку до '\n' а не до первого пробела/табуляции/символа новой строки. Мой блок имеет пустую четвёртую строку. Мне её надо пропустить а следующую считать в переменную PSVVersion. Как? std::getline() не передвинит бегунок если строка пуста. >> считает следующее слово, то есть "PSV", и курсор опять окажется не там где надо.
Друзья мои, я на грани того чтобы вернутся в девяностые и писать всё в стиле char*, помогите, объясните как выйти из ситуации!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru