小编J3s*_*oon的帖子

读取嵌入的文本文件资源 Visual Studio C++

以下是我添加文本文件作为资源的步骤: 1. 右键单击​​项目,添加新项 2. 选择文本文件,单击添加 3. 转到项目属性,配置属性->链接器->输入->嵌入托管资源文件 4. 然后我在该文本框中添加了我的文本文件“items.txt

然后在我的 .rc 文件中,我输入以下代码:

#include "resource.h"
IDR_DATA1 TEXTFILE "Items.txt"
Run Code Online (Sandbox Code Playgroud)

在我的 resource.h 文件中,我输入:

#define TEXTFILE   256
#define IDR_DATA1  255
Run Code Online (Sandbox Code Playgroud)

在我的 form1.cpp 方法中:

std::string result;
char* data = NULL;
HINSTANCE hInst = GetModuleHandle(NULL);
HRSRC hRes = FindResource(hInst, MAKEINTRESOURCE(IDR_DATA1), MAKEINTRESOURCE(TEXTFILE));
if (NULL != hRes)
{
    HGLOBAL hData = LoadResource(hInst, hRes);
    if (hData)
    {
        DWORD dataSize = SizeofResource(hInst, hRes);
        data = (char*)LockResource(hData);
    }
    else
    {
        MessageBox::Show("hData is null");
        return "";
    }
    char* pkcSearchResult = strstr(data, "2000000"); …
Run Code Online (Sandbox Code Playgroud)

c++ embedded-resource text-files visual-studio-2012

6
推荐指数
1
解决办法
6287
查看次数

WPF跨线程MessageBox不阻塞主线程输入

我试图表现出MessageBox从另一个Thread使用Dispatcher.Invoke.

MessageBox没有露面.但是没有点击OK按钮MessageBox,我仍然可以控制主窗口.

我在想是否有办法在点击OK按钮之前阻止主窗口输入?

任何帮助表示赞赏.

我到目前为止的代码:

void ShowError(String message)  //I call this function in another thread
{
    if (this.Dispatcher.CheckAccess())
        MessageBox.Show(message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
    else
    {
        this.Dispatcher.Invoke(
            new Action(() =>
            {
                MessageBox.Show(message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }));
    }
}
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading

6
推荐指数
1
解决办法
1364
查看次数

如何在不使用toupper函数的情况下将char转换为大写

最近我看到了一段将char转换为小写的代码,如果它已经是小写,它就会保持不变.

char c = 'A';
c |= ' ';
//c -> 'a'
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个代码,可以将char转换为大写而不使用toupper函数.

目前我能想到的最简单的方法是下面的代码.

char c = 'a';
c = (c | ' ') - ' ';
//c -> 'A'
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有比这更简单的代码,并且可以实现相同的结果.

任何帮助表示赞赏.

第一个代码块的快速解释

Char | ASCII Code
' '  | 13
'A'  | 65
'a'  | 97
Run Code Online (Sandbox Code Playgroud)

or操作符进行位操作

   01000001 (char 'A')
Or 00100000 (char ' ')
 = 01100001 (char 'a')
----------------------
   01100001 (char 'a')
Or 00100000 (char ' ')
 = 01100001 (char 'a')
Run Code Online (Sandbox Code Playgroud)

c++ bit-manipulation lowercase uppercase

4
推荐指数
1
解决办法
3182
查看次数

Curl 无法解析 Elasticsearch 中的主机

我最近正在学习在 Windows上使用ElasticSearch

我按照此页面所说的说明进行操作并卡在Checking that Elasticsearch is running.

我已经为 Windows下载了最新的curl二进制可执行文件 (7.54.0),但是当我使用按钮复制以下行时COPY AS CURL

curl -XGET 'localhost:9200/?pretty'
Run Code Online (Sandbox Code Playgroud)

它给出了错误:

curl: (6) Could not resolve host: 'localhost
Run Code Online (Sandbox Code Playgroud)

我曾在这里尝试禁用 IPV6的解决方案,但问题仍然存在。

curl elasticsearch

3
推荐指数
1
解决办法
7330
查看次数

Cmake 找不到 PythonLibs

我正在尝试按照本教程在 Windows 上为 Vim下载YouCompleteMe

调用 CMake 时:

cmake -G "Visual Studio 14 Win64" -DPATH_TO_LLVM_ROOT=%USERPROFILE%/ycm_temp/llvm_root_dir . %USERPROFILE%/vimfiles/bundle/YouCompleteMe/third_party/ycmd/cpp
Run Code Online (Sandbox Code Playgroud)

它抛出以下异常:

CMake Error at C:/Program Files/CMake/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
(Required is at least version "2.6")
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files/CMake/share/cmake-3.9/Modules/FindPythonLibs.cmake:262 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:189 (find_package)
Run Code Online (Sandbox Code Playgroud)

我已经安装了 python-2.7.13,并将其PATH放在Environment Variables.

我应该怎么做才能修复异常?

python windows vim cmake python-2.7

2
推荐指数
1
解决办法
7679
查看次数