草庐IT

std-function

全部标签

python - 相当于 Unix "shell function"的 Powershell 脚本

这基本上是ChangethecurrentdirectoryfromaBashscript的副本,除了我在Windows上并且希望能够从powershell脚本更改我的命令行目录。我实际上是从powershell文件运行一个python脚本,从该python脚本解析输出目录,然后使用该输出作为要更改的目录,所以如果有办法从python脚本中执行此操作而不是powershell文件加分!要100%清楚,是的,我知道“cd”和“os.chdir”,不,这不是我想要的-这只会更改脚本或批处理文件的当前目录,而不是您要更改的命令行正在运行!代码如下(批处理文件是我的第一次尝试,我希望它是PS1

c++ - std::string 连接的运行时依赖

std::stringsAttr("");sAttr=sAttr+VAL_TAG_OPEN+sVal->c_str()+VAL_TAG_CLOSE;我定义的代码中的其他地方constcharVAL_TAG_OPEN[]="";sVal是一个从字符串指针数组中检索的变量。这在大多数系统、windows和linux中都可以正常工作。然而,在一个客户站点,我相信有一个我们已经进行了广泛测试的linux版本,产生的结果就好像我从未使用过VAL_TAG_OPEN和VAL_TAG_CLOSE。我收到的结果是为了sAttr=sAttr+sVal->c_str();发生了什么事?std::string

c++ - Visual Studio 2008,错误 c2039 : 'set_new_handler' : is not a member of 'std'

所以前几天我去编译我正在处理的VC++项目,突然间我几乎所有的文件都出现错误:new.h:errorC2039:'set_new_handler':isnotamemberof'stdnew.h:errorC2039:'set_new_handelr':symbolcannotbeusedinausing-declaration“new.h”和“set_new_handler”没有在我的任何文件中使用,所以我不知道这些错误是如何或为什么突然出现的,因为它们与windows/VS库文件有关。谁知道我可以做些什么来清除这个错误并重新编译我的代码?更新在检查编译时包含的文件后,有些文件包含,

windows - 批处理脚本 : local variable from function1 to function2

好吧,让我试着解释一下我的问题:我从一行开始2个不同的函数setlocalEnableDelayedExpansionfor%%iin("C:\*.*")do(call:function1"%%~i"call:function2"%%~i")goto:eof在function1中,在某个点我在本地环境中做了一个SET:setlocalEnableDelayedExpansion......setname1=blablaendlocal&SETname=%name1%echo%name%goto:eof回声确实返回了我的变量。现在解决我的问题。我退出功能1并转到功能2(请参阅第一个代码段

windows - 从 "chinese Windows"发送 std::wstring 到 "arabic Windows"

我有一个套接字,我通过它发送序列化的std::wstring,例如,从中文版的Windows到使用阿拉伯语UI的Unix系统。我不明白我的Unix系统(或其他任何系统)如何知道这些std::wstring是中文的,我没有看到“代码页”(又名国家语言?)存储在std中::wstring,我是否必须将自己与可能的每个std::wstring的代码页相关联?我肯定错过了一些东西,因为这看起来是我们相互联系的世界中的一个基本问题......谢谢, 最佳答案 wstring的目的是允许整个Unicode字符集,包括中文和阿拉伯语以及人类已知的

C++ 将数据从 std::string 复制到 std::wstring

假设我有一个std::string,但数据是用UTF-16编码的。我如何才能将该数据复制到std::wstring中,而根本不修改数据?此外,我不能只使用std::wstring,因为我正在在线检索文本文件并检查Content-Typeheader字段以确定编码。但是使用std::string来接收数据。 最佳答案 std::wstringPackUTF16(conststd::string&input){if(input.size()%2!=0)throwstd::invalid_argument("inputlengthmust

c++ - 按值传递 std::function<bool (int)>

我是想曝光typedefstd::functionFilter;这是的一部分#include这样用户就可以创建过滤器并将其传递到我的组件中进行处理。该要求要求处理不能在模板函数中完成。我知道在接口(interface)上使用STL不是一个好的做法,因为Filter类型的大小取决于STL实现。除了原始函数指针或由模板函数接收的仿函数,我还有哪些替代选择。 最佳答案 大小在这里不是很重要,但如果使用您的库的某个人使用不同的STL实现,那么您的代码将无法使用,那么另一种选择是什么?我将为此使用一个接口(interface)(纯虚拟类):s

c++ - std::map 中值的内存分配

我在学校工作中获得了一些C++经验。我了解到,除其他外,对象应该作为指针存储在容器(vector、map等)中。主要原因是我们需要使用new运算符以及复制构造函数,以便在对象的堆(也称为动态内存)上创建拷贝。此方法还需要定义一个析构函数。然而,从我从那以后读到的内容来看,STL容器似乎已经将它们包含的值存储在堆上。因此,如果我要将我的对象存储为值,无论如何都会在堆上创建一个拷贝(使用复制构造函数),并且不需要定义析构函数。总而言之,无论如何都会在堆上创建一个拷贝???此外,如果(真),那么我能想到的使用指针存储对象的唯一其他原因是减轻复制容器的资源需求,因为指针比整个对象更容易复制。但

C程序: function not being called from main

我正在使用RenesasHigh-performanceEmbeddedWorkshop在C语言中对RenesasRX63N微Controller进行编程。我面临的问题是函数connectWiFi()没有从main中执行。以下是函数的原型(prototype):typedefcharString[5000];voidconnectWiFi(Stringid,intauth,Stringpsk);函数体是这样的:voidconnectWiFi(Stringid,intauth,Stringpsk){printf("log0.1\n");charcwTemp2[10];Stringone,

c++ - 如何获取 %AppData% 路径作为 std::string?

我读到可以使用SHGetSpecialFolderPath();获取AppData路径。但是,它返回一个TCHAR数组。我需要一个std::string。如何将它转换为std::string?更新我读到可以使用getenv("APPDATA"),但它在WindowsXP中不可用。我想支持WindowsXP-Windows10。 最佳答案 Ttype表示SHGetSpecialFolderPath是一对函数:SHGetSpecialFolderPathA适用于WindowsANSI编码char基于文本,以及SHGetSpecialFo