RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-431171

artEA's questions

Martin Hope
artEA
Asked: 2022-06-17 20:50:35 +0000 UTC

glfw 文本输出

  • 0

有没有办法使用openGL方法显示文本?TextOut 的选项适合我,但它不能与对象的坐标一起移动,还有其他选项吗?(没有额外的库)

#include <GLFW/glfw3.h>
#include <Windows.h>
#include <iostream>
#include <string>
using namespace std;
void Button(string text,double size, float posX, float posY);
GLuint LoadTexture(const char* filename);
GLuint textureid;

int main()
{
    GLFWwindow* window;
    std::cout << "Started";
    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(500, 500, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);
    LoadTexture("test.bmp");

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);
        Button("Test",0, 0.2, 0.2);

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }
    glfwTerminate();
    return 0;
}
GLuint LoadTexture(const char* filename)
{
    GLuint texture;
    int width, height;
    unsigned char* data;

    FILE* file;
#pragma warning(disable : 4996)
    file = fopen(filename, "rb");

    if (file == NULL) return 0;
    width = 1024;
    height = 512;
    data = (unsigned char*)malloc(width * height * 3);
    //int size = fseek(file,);
    fread(data, width * height * 3, 1, file);
    fclose(file);

    for (int i = 0; i < width * height; ++i)
    {
        int index = i * 3;
        unsigned char B, R;
        B = data[index];
        R = data[index + 2];

        data[index] = R;
        data[index + 2] = B;
    }

    glGenTextures(1, &texture);
    glBindTexture(GL_TEXTURE_2D, texture);
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);

    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
    free(data);
    textureid = texture;
}

void Button(string text,double size, float posX, float posY) {
    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D, textureid);
    glPushMatrix();
    glTranslatef(-1 + posX, -1 + posY, -1);
    glScalef(0.2, 0.2, 0);
    glBegin(GL_TRIANGLE_FAN);
    glVertex2f(0, 0);
    glVertex2f(1 + size, 0);
    glVertex2f(1 + size, 0.5 + size);
    glVertex2f(0, 0.5 + size);
    glEnd();
    glPopMatrix();
    glBindTexture(GL_TEXTURE_2D, 0);
}


c++
  • 2 个回答
  • 10 Views
Martin Hope
artEA
Asked: 2022-06-06 22:57:10 +0000 UTC

问题是返回 operator[] 值

  • 0

问题是返回值,问题是 string& operator[] (const string index)和 bool& operator[] (const string index),它不允许我从 string 中获取值(返回 1)但是当我交换字符串时( bool& 到 string& 以及它们的内容)然后一切都反过来并返回空虚,如何解决?我的代码:

#include <iostream>
#include <string>
#include <map>

using namespace std;

class StringData
{
private:
    map<string, string> dataStrings;
    map<string, bool> dataBools;
public:
    string& operator[] (const string index)
    {
        return dataStrings[index];
    }
    bool& operator[] (const string index)
    {
        return dataBools[index];
    }
};

int main() 
{
    StringData a;
    a["test"] = false;
    a["test2"] = "Hello";
    cout << a["test"];
    cout << a["test2"];
    system("Pause");
}

c++
  • 2 个回答
  • 10 Views
Martin Hope
artEA
Asked: 2022-05-17 22:08:55 +0000 UTC

在 C++ 中解压 Zip 存档

  • 0

我找到了用于解压存档的库,但无法正常连接它们)有没有办法使用 C++ 中的标准方法解压存档?

c++
  • 2 个回答
  • 10 Views
Martin Hope
artEA
Asked: 2022-03-24 16:37:23 +0000 UTC

将字符输出到控制台的问题

  • 1

我得到回应了吗?对于必要字符的位置,我尝试了一切,我尝试在 C++ 控制台中制作伪图形。这是代码:

    printf("╔════════════╗");
    printf("║            ║");
    printf("║            ║");
    printf("╚════════════╝");

作为回应,我得到:

??????????????
?            ?
?            ?
??????????????

问题是这些字符的位置是什么,问号,它可能是什么?我搜索了论坛,没有任何帮助...

c++
  • 1 个回答
  • 10 Views
Martin Hope
artEA
Asked: 2022-03-12 00:48:15 +0000 UTC

磁盘上的第三个扇区是什么?

  • 0

只是为了展示,我想问一下磁盘上的第三个扇区是什么(维多利亚程序)以及应该存储什么,我被题词“artitio n”弄糊涂了。现在我不仅想到它是什么)而且还查看了磁盘的第二个扇区,其中有类似的内容。

在此处输入图像描述

主要问题是为什么?

os
  • 1 个回答
  • 10 Views
Martin Hope
artEA
Asked: 2022-03-05 18:24:10 +0000 UTC

AvaloniaUI 扩展未安装在 Visual Studio 上

  • 0

带有最新更新的 VS Studio 版本 2019。尝试通过市场与工作室安装没有成功,也作为一个包安装。 错误

查看安装日志

05.03.2021 17:17:43 - Ошибка установки: System.AggregateException: Произошла одна или несколько ошибок. ---> Microsoft.VisualStudio.Setup.PackageFailureException: Package 'Microsoft.Ancm.IISExpress.Msi' failed to install
   в Microsoft.VisualStudio.Setup.InstallOperation.Run(CancellationToken token)
   в Microsoft.VisualStudio.Setup.Engine.RunOperation(InstallOperation installOperation, CancellationToken token, ExecuteAction action, ITelemetryOperation telemetryOperation)
   в Microsoft.VisualStudio.Setup.Engine.RunCoreOperation(InstallOperation coreOperation, ExecuteAction action, ITelemetryOperation telemetryOperation, CancellationToken token)
   в Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   в Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   в System.Threading.Tasks.Task`1.InnerInvoke()
   в System.Threading.Tasks.Task.Execute()
   --- Конец трассировки внутреннего стека исключений ---
   в System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   в System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   в Microsoft.VisualStudio.ExtensionManager.SetupEngineService.Install()
   в Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.PerformSetupEngineInstall(InstallableExtensionImpl extension, Boolean installPerMachine, Boolean isPackComponent, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, IProgress`1 progress, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion, IInstalledExtension& newExtension)
   в Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.InstallInternal(InstallableExtensionImpl extension, InstallFlags installFlags, IDictionary`2 extensionsInstalledSoFar, List`1 extensionsUninstalledSoFar, IInstalledExtensionList modifiedInstalledExtensionsList, AsyncOperation asyncOp, IProgress`1 progress, Version targetedVsVersion)
   в Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.BeginInstall(IInstallableExtension installableExtension, InstallFlags installFlags, AsyncOperation asyncOp, Version targetedVsVersion)
   в Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.InstallWorker(IInstallableExtension extension, InstallFlags installFlags, AsyncOperation asyncOp)
---> (Внутреннее исключение #0) Microsoft.VisualStudio.Setup.PackageFailureException: Package 'Microsoft.Ancm.IISExpress.Msi' failed to install
   в Microsoft.VisualStudio.Setup.InstallOperation.Run(CancellationToken token)
   в Microsoft.VisualStudio.Setup.Engine.RunOperation(InstallOperation installOperation, CancellationToken token, ExecuteAction action, ITelemetryOperation telemetryOperation)
   в Microsoft.VisualStudio.Setup.Engine.RunCoreOperation(InstallOperation coreOperation, ExecuteAction action, ITelemetryOperation telemetryOperation, CancellationToken token)
   в Microsoft.VisualStudio.Setup.Engine.Install(Product product, String destination, CancellationToken token)
   в Microsoft.VisualStudio.ExtensionManager.SetupEngineService.<Install>b__14_0()
   в System.Threading.Tasks.Task`1.InnerInvoke()
   в System.Threading.Tasks.Task.Execute()<---

我尝试手动安装它,没有任何反应...

c#
  • 1 个回答
  • 10 Views
Martin Hope
artEA
Asked: 2022-02-23 12:57:33 +0000 UTC

TCP 数据传输无法正常工作 C++ C#

  • 0

问题: 在这张图片中,消息“你好”

最后一个字母“o”不是“Hello”而是“??o”,所以总是要做什么?我使用了不同的代码,什么都没有(我使用 Sockets 进行数据传输

客户端 C++:

void StartConnect(string in, string out)
{
    WSAData wsaData;
    SOCKADDR_IN addr;
    int result = WSAStartup(MAKEWORD(2, 2), &wsaData);
    cout << "startup: " << result << endl;

    SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    addr.sin_family = AF_INET;
    addr.sin_port = htons(8005);
    addr.sin_addr.s_addr = inet_addr("127.0.0.1");

    result = connect(s, (SOCKADDR*)&addr, sizeof(addr));
    cout << "Connect: " << result << endl;

    int count = 0;
    char sendBuf[512] = "Hello";
    int sendResult;
    sendResult = send(s, sendBuf, sizeof(sendBuf), 0);

}

服务器c#:

        static int port = 8005; // порт для приема входящих запросов
        static void Main(string[] args)
        {
            // получаем адреса для запуска сокета
            IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), port);

            // создаем сокет
            Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                // связываем сокет с локальной точкой, по которой будем принимать данные
                listenSocket.Bind(ipPoint);

                // начинаем прослушивание
                listenSocket.Listen(10);

                Console.WriteLine("Сервер запущен. Ожидание подключений...");

                while (true)
                {
                    Socket handler = listenSocket.Accept();
                    // получаем сообщение
                    StringBuilder builder = new StringBuilder();
                    int bytes = 0; // количество полученных байтов
                    byte[] data = new byte[512]; // буфер для получаемых данных

                    do
                    {
                        bytes = handler.Receive(data);
                        builder.Append(Encoding.Unicode.GetString(data, 0, bytes));
                    }
                    while (handler.Available > 0);

                    Console.WriteLine(DateTime.Now.ToShortTimeString() + ": " + builder.ToString());

                    // отправляем ответ
                    string message = "ваше сообщение доставлено";
                    data = Encoding.Unicode.GetBytes(message);
                    handler.Send(data);
                    // закрываем сокет
                    handler.Shutdown(SocketShutdown.Both);
                    handler.Close();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

我尝试转换成另一种utf16格式,还是不行……但是C#的客户端和服务端都没有出现这样的问题,告诉我怎么办?

c#
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5