小编Lit*_*ton的帖子

如何使用for_each获取向量中的值的索引?

我有以下代码(编译器:MSVC++ 10):

std::vector<float> data;
data.push_back(1.0f);
data.push_back(1.0f);
data.push_back(2.0f);

// lambda expression
std::for_each(data.begin(), data.end(), [](int value) {
     // Can I get here index of the value too?
});
Run Code Online (Sandbox Code Playgroud)

我在上面的代码片段中想要的是获取lambda表达式中数据向量中的值的索引.似乎for_each只接受单个参数函数.有没有替代这个使用for_each和lambda?

c++ lambda c++11

25
推荐指数
5
解决办法
2万
查看次数

如何在C#中将整数转换为固定长度的十六进制字符串?

我有一个整数变量,最大值为9999.

我可以转换为固定长度的字符串(4个字符):

value.ToString("0000");
Run Code Online (Sandbox Code Playgroud)

我可以将它转换为十六进制:

value.ToString("X");
Run Code Online (Sandbox Code Playgroud)

我想将其转换为四个字符的十六进制字符串(如果值转换为小于四位十六进制值,则在左侧填充0).我尝试了以下哪些不起作用.

value.ToString("0000:X");
Run Code Online (Sandbox Code Playgroud)

好的,我可以用零来检查十六进制字符串和填充的长度.

但有没有直截了当的方式?

c#

17
推荐指数
2
解决办法
2万
查看次数

在C#中设置应用程序范围的热键

有一个岗位设置全系统的全局热键在C# 在这里

我想设置应用程序范围的热键,这样如果用户在应用程序的任何子窗口上按下热键,特定窗口将接收并处理它.

谢谢.

c# winforms-interop

7
推荐指数
1
解决办法
2103
查看次数

使用 CloudMan 为 AWS 创建基因组学虚拟实验室 (GVL) 时,用户无权执行 iam:GetRole 错误

我在尝试在 AWS 中创建新设备时遇到以下错误。

FAILURE Create appliance task failed: An error occurred (AccessDenied) when calling the GetRole operation: User: arn:aws:iam::account-id:user/<user> is not authorized to perform: iam:GetRole on resource: role genomics-virtual-lab-20-03-11t18-29-cm2-kube-role
Run Code Online (Sandbox Code Playgroud)

看来我需要在 AWS 控制台中将 GetRole 添加到可能的用户。但我是AWS的新手,无法做到这一点。谁能帮帮我吗?

问候,

amazon-web-services galaxy

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

如何在Windows中为高级网络适配器属性设置Jumbo数据包和接收/传输缓冲区?

我正在尝试为网络适配器设置一些高级属性,例如Jumbo Packet,Receive/Transmit Buffers.我尝试使用Win32_NetworkAdapter,Win32_NetworkConnection,Win32_NetworkAdapterConfiguration WMI类.他们都不能做到这一点.

谁能帮我?

c# c++ wmi network-programming

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

如何使用COM智能指针作为输入参数来调用例如库函数

使用CComPtr或_com_ptr智能指针作为输入输出参数的最佳方法是什么?

void FunctionPrototype(Test** test) {
    // you can use here test or create a new Test here and assign to test
}

CComPtr<Test> test;
test.CoCreateInstance(..., ..., ...);
test->SetValue(10);
FunctionPrototype(&test); // assertion since test.p is not NULL
Run Code Online (Sandbox Code Playgroud)

c++ com smart-pointers

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

CreateFile2在Windows 8中返回拒绝访问错误

我编写了以下代码行来打开InstalledFolder目录下的文件:

Platform::String^ locationPath = Platform::String::Concat(Package::Current->InstalledLocation->Path, "\\Assets\\Logo.png");

CREATEFILE2_EXTENDED_PARAMETERS extendedParams = {0};
extendedParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS);
extendedParams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL;
extendedParams.dwFileFlags = FILE_FLAG_SEQUENTIAL_SCAN;
extendedParams.dwSecurityQosFlags = SECURITY_ANONYMOUS;
extendedParams.lpSecurityAttributes = nullptr;
extendedParams.hTemplateFile = nullptr;

Wrappers::FileHandle file(
    CreateFile2(
        locationPath->Data(),
        GENERIC_READ,
        0,
        OPEN_EXISTING,
        &extendedParams
        )
    );

DWORD e = GetLastError();
if (file.Get() == INVALID_HANDLE_VALUE)
{
    throw ref new Platform::FailureException();
}
Run Code Online (Sandbox Code Playgroud)

CreateFile2返回拒绝访问错误.有人可以帮帮我吗?

正如JP Alioto所建议的那样,我已尝试使用WinRT文件I/O,如下所示

    create_task(StorageFile::GetFileFromApplicationUriAsync(ref new Windows::Foundation::Uri("ms-appx:///Assets/Logo.png")))
    .then([=](StorageFile^ f)
    {
        auto p = create_task(f->OpenAsync(FileAccessMode::Read));
        p.wait();
    });
Run Code Online (Sandbox Code Playgroud)

我仍然在p.wait()得到以下错误:

将无效参数传递给认为无效参数致命的函数

谢谢,

windows-8 windows-runtime visual-studio-2012

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