Другое С/С++ Вопрос - Ответ

ishi

Известный
493
110
Выход за пределы.
Можно более нубским языком? :D
И ещё.
C++:
SAMPFUNCS *SF = new SAMPFUNCS();
stFontInfo *pFont;
unsigned short scrx = GetSystemMetrics(SM_CXSCREEN);
char sstring[1];
char qwe[1];
short int PTC=scrx;
char* ppts = new char(sstring[scrx]);
char* ptqwe = new char(qwe[scrx]);
unsigned __int16 nocis;
unsigned char red, green, blue;
char* PTCs;

bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride,
   CONST RGNDATA *pDirtyRegion)
{
   if (SUCCEEDED(SF->getRender()->BeginRender()))
   {
     memset(ptqwe, 0, strlen(ptqwe));
     memset(ppts, 0, strlen(ppts));
     PTC -= 1;
     PTCs = ppts + PTC;
     strcat(PTCs, "Число символов в строке: ");
     nocis = _scprintf(PTCs);
     itoa(nocis, ptqwe, 10);
     strcat(PTCs, ptqwe);
     //SF->getSAMP()->getChat()->AddChatMessage(555555, "%s", ppts);
     red = rand();
     green = rand();
     blue = rand();
     pFont->Print(PTCs, D3DCOLOR_ARGB(255, red,green,blue), 0, 500, false);
     SF->getRender()->EndRender();
   };

   return true;
};
с данным кодом через четверть минуты игры происходит нечто странное, что удалось разглядеть, лишь записав - после этого игра крашит.
Примечательно, что я не делал так, чтоб строка вообще клеилась, не то что уж заполняла себя своими копиями
Как такое происходит?
 

Jack_Savage

Участник
150
17
Можно более нубским языком? :D
И ещё.
C++:
SAMPFUNCS *SF = new SAMPFUNCS();
stFontInfo *pFont;
unsigned short scrx = GetSystemMetrics(SM_CXSCREEN);
char sstring[1];
char qwe[1];
short int PTC=scrx;
char* ppts = new char(sstring[scrx]);
char* ptqwe = new char(qwe[scrx]);
unsigned __int16 nocis;
unsigned char red, green, blue;
char* PTCs;

bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride,
   CONST RGNDATA *pDirtyRegion)
{
   if (SUCCEEDED(SF->getRender()->BeginRender()))
   {
     memset(ptqwe, 0, strlen(ptqwe));
     memset(ppts, 0, strlen(ppts));
     PTC -= 1;
     PTCs = ppts + PTC;
     strcat(PTCs, "Число символов в строке: ");
     nocis = _scprintf(PTCs);
     itoa(nocis, ptqwe, 10);
     strcat(PTCs, ptqwe);
     //SF->getSAMP()->getChat()->AddChatMessage(555555, "%s", ppts);
     red = rand();
     green = rand();
     blue = rand();
     pFont->Print(PTCs, D3DCOLOR_ARGB(255, red,green,blue), 0, 500, false);
     SF->getRender()->EndRender();
   };

   return true;
};
с данным кодом через четверть минуты игры происходит нечто странное, что удалось разглядеть, лишь записав - после этого игра крашит.
Примечательно, что я не делал так, чтоб строка вообще клеилась, не то что уж заполняла себя своими копиями
Как такое происходит?
что оно должно сделать?
 

Gabriel__

Известный
Проверенный
411
181
Как считать вводимые символы с консоли но так чтобы они в ней не отобразились. Ввёл в консоль слово hello оно считалось в переменную и отобразилось в консоли. Как убрать этот побочный эффект ?


C++:
int main()
{
    while(true)
    {
        std::string str;
        std::getline(std::cin, str);
    }
    return 0;
}
 
Последнее редактирование:

iAmerican

Известный
Друг
615
257
Как осуществить поиск подстроки в строке , без учета регистра?
C++:
if (_stricmp("XYZ -2-2-2", "xYZ") != NULL) {
Log("Нашлось");
    }
Пробовал вот так , но не работает.
 

Dark_Knight

Me, me and me.
Друг
4,062
2,077
Как осуществить поиск подстроки в строке , без учета регистра?
C++:
if (_stricmp("XYZ -2-2-2", "xYZ") != NULL) {
Log("Нашлось");
    }
Пробовал вот так , но не работает.
Когда вы уже научитесь юзать std::string? -_-
Код:
#include <windows.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <cctype>
using namespace std;

void main() {
    setlocale(LC_ALL, "Russian");
    std::string text = "Вася Пупкин", str = "ВАСЯ ПУПКИН";
    (text == str) ? cout << "true\n" : cout << "false\n";
    std::transform(text.begin(), text.end(), text.begin(), tolower);
    std::transform(str.begin(), str.end(), str.begin(), tolower);
    (text == str) ? cout << "true\n" : cout << "false\n";
    system("pause");
}
 
  • Нравится
Реакции: iAmerican

2Shae

Известный
149
8
Нубо-вопрос подъехал. Что лучше использовать: string или char? А то наткнулся на статейку о том, что char жрёт меньше памяти и быстрее "обрабатывается".
 

Dark_Knight

Me, me and me.
Друг
4,062
2,077
Стринг точно удобней, да и выиграешь ты там мало, так что смысла заморачиватся нет.
 

ishi

Известный
493
110
Предположим, что в d3dx есть такая структура:
C++:
typedef struct D3DXVECTOR3 {
FLOAT x;
FLOAT y;
FLOAT z;
} D3DXVECTOR3, *LPD3DXVECTOR3;
И я попытался её заполнить:
C++:
struct D3DXVECTOR { FLOAT x = Matrx, y = Matry, z = Matrz+10; };
Но при попытке её объявить, указав D3DXVECTOR мне пишет что "использование имени типа не допускается", а если я пытаюсь между таблицей и D3DXVECTOR вписать название для таблицы, выдаёт ошибку, типа быть его там не должно.
Вопрос: каким образом заполнять данную структуру, и указывать её в качестве блока данных? (т.к если не по d3xvector, у меня и идей нет как указывать)
 

Jack_Savage

Участник
150
17
Как можно создавать переменную во время работы программы ?
Типу написал в консоль create и она создалась.
При этом чтобы потом как то обратится можно было и чтобы их можно было создавать пока оператива не кончится
 

BlackKnigga

Известный
BH Team
922
443
Как можно создавать переменную во время работы программы ?
Типу написал в консоль create и она создалась.
При этом чтобы потом как то обратится можно было и чтобы их можно было создавать пока оператива не кончится
new
 

Jack_Savage

Участник
150
17
И чем это поможет ? Мне надо создавать переменную во время выполнения. Их может быть хоть 1000.
Пользователь сам ее создает командой.
По сути мне надо чтобы программа исполняла код из файла и создавала переменную когда надо