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

Движение двух фигур в разных потоках - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка доступа после fclose http://www.cyberforum.ru/cpp-beginners/thread1062077.html
Всем привет. Использую в проекте запись в бинарный файл с помощью функций fwrite, fopen, fclose. Иногда (примерно каждый 10-20 файл), происходит ошибка доступа к файлу, т.е. "файл используется другим приложением" (т.е. моим), при этом в консоли я вижу, что fclose выполнена успешно. В чем может быть проблема? Программа многопоточная, имя файла передается в другой поток, после успешного fclose, но...
C++ Бугсую. Нужен свежий взгляд Этот кусок проги (по задумке) ищет в тексте различные скобки, да только дальше первой не идет, гляньте в чем косяк, уверен проблема ерундовая. Спасибо заранее!!! #include <conio.h> #include <stdio.h> #include <math.h> #include <ctype.h> #include <locale.h> http://www.cyberforum.ru/cpp-beginners/thread1062072.html
Reverse класса C++
С новым годом друзья! Реверсю один exe, больше половины востановил (благо написана она на Qt и сюдя по всему скомпилированна в том же компиляторе что и у меня, т.к декорирование импорта из dll_ок даже совпадает :) ) Но есть кусок проблемного для меня дизассемблерного кода в самом начале который я временно отбросил, но дальше без него уже никак: .text:0040C660 ; int __stdcall...
C++ Создание и обработка матрицы
Здравствуйте, я начинающий в программировании и в С++ в частности, вот столкнулся с проблемой, мне надо задать матрицу, выделить все элементы над главной диагональю и из них выбрать наибольшие по значению, записать их индексы в отдельный массив, где в одной строке будут индексы строк, в другой индесксы столпцов этих элементов. Я не прошу от вас сделать всё за меня, но у меня даже не получается...
C++ Необъявленный идентификатор http://www.cyberforum.ru/cpp-beginners/thread1061994.html
addClientCommand( "m0d_tele_locations", (int)cmd_tele_locations ); addClientCommand( "m0d_teleport_locations", (int)cmd_tele_locations ); addClientCommand( "adminsonline", (int)cmd_admins ); samp.cpp(1265): error C2065: cmd_admins: необъявленный идентификатор http://ltmages.tk/GF
 

Показать сообщение отдельно
Bretbas
156 / 31 / 4
Регистрация: 05.08.2013
Сообщений: 596
Завершенные тесты: 1
03.01.2014, 23:08     Движение двух фигур в разных потоках
Привет всем!всех с новым годом!и снова я к вам с моими проблемами)
короче пишу игрушку в консоле,столкнулся впервые с многопоточностью)использую стандартную библиотеку c++ <thread> для создания потоков и работы с ними.так же использую инициализацию графики в консоли с помощью библиотеки msoftcon.h.
Все бы хорошо,но есть одна проблема...как выразиться лучше то...мне нужно чтобы две фигуры на экране двигались независимо друг от друга...но суть в том,что установка курсора set_cursor_pos(x,y) не успевает нарисовать одну фигуру и переходит к другой резко...и получается полная хрень...вначале я не понимал в чем трабл,но когда написал вот такую скромную программку(ниже код),то понял что дело все в курсоре:
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
#include <iostream>
#include <thread>
#include "msoftcon.h"
 
void Thread()   
{
for(int i=1;i<25;i++)
{
set_cursor_pos(1,i);
wait(100);
std::cout<<"*";
}
}
 
void main()
{
init_grafics();
std::thread f(Thread);
 
for(int i=1;i<25;i++)
{
set_cursor_pos(80,i);
wait(50);
std::cout<<"+";
}
 
f.join();
}
Программка рисует по вертикали в дополнительном потоке слева с задержкой 100 миллисекунд символ "*" а в основном потоке по вертикале рисуется справа символ "+" с задержкой 50 миллисекунд и затем он ждет пока закончит выполнение дополнительный поток(f.join(); функция).вроде все просто и понятно)
но вот в чем проблема-символы вывода иногда находятся не в том месте где им нужно быть,к примеру иногда символ "*" находится справа,а символ "+" слева,хотя это не должно быть!я долго не думал,и понял что проблема с установкой курсора(set_cursor_pos(...); функция)...но вот как исправить я так и не догадался.мне нужно два курсора,чтобы один работал с дополнительным потоком,а другой с основным...но реально ли это в консоле на c++ или можно как нибудь сделать подругому все?
Ребята,срочно нужна ваша помощь...без этого не могу продвинуться(разбираюсь в winAPI не много,поэтому можете примеры решения подсказать на нем)

Добавлено через 23 часа 22 минуты
Аууу народ?мне кто нибудь поможет?)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru