- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
当我尝试编译我的脚本时,我收到此错误:“'const char*' 和 'const char [6]' 类型的无效操作数到二进制 'operator+'”。这里应该是错误:
string name = "john";
system(" quickscan.exe resolution 300 selectscanner jpg showui showprogress filename '"+name+".jpg'");
最佳答案
表达式的类型
" quickscan.exe resolution 300 selectscanner jpg showui showprogress filename '"+name+".jpg'"
是 std::string
。但是函数系统有声明
int system(const char *s);
也就是说,它接受 const char *
没有转换运算符可以将 std::string
类型的对象隐式转换为 const char *
类型的对象。
尽管如此,类 std::string
有两个函数可以显式地进行这种转换。它们是c_str()
和data()
(最后一个只能用于支持C++11的编译器)
所以你可以写
string name = "john";
system( (" quickscan.exe resolution 300 selectscanner jpg showui showprogress filename '"+name+".jpg'").c_str() );
表达式不需要使用中间变量。
关于c++ - 无法将参数 'std::basic_string<char>' 的 'const char*' 转换为 '1' 到 'int system(const char*)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21589353/
ninja (版本:1.9.0)输出: mergetree_test.cpp:(.text+0x19f): undefined reference to `DB::executeQuery(std::
嘿,我正在制作“制作你自己的冒险游戏!”现在除了必须通过漏洞游戏之外,我想制作一个作弊代码系统,现在我试图声明一个字符串女巫等于超过 6 个单词我不明白问题是什么我只用了两个单词并且没有错误但是当我用
在 MacOS X 10.10 CLang 中: typedef basic_string, allocator > string; typedef basic_string, allocator >
来自以下内容 Can I turn unsigned char into char and vice versa? 似乎转换 basic_string到 basic_string (即 std::st
我这样定义一个字符串对象: string test; 我想知道STL是怎么实现string的,发现string是basic_string,像这样: typedef basic_string st
好吧,我有这个代码: #include #include "Stack.h" #include using namespace std; int main(int argc, char* argv
当我编译以下 MWE 时出现上述错误在 GCC 上 #include void frobnigate( const std::string& str ) { std::string::con
我正在尝试编译 QtWebApp使用 Qt5.5.1 到最新的 RPI4-Raspbian Buster,我遇到了莫名其妙的 GLIBCXX 未解析符号 什么有效:QtWebApp 使用在 Raspb
尽管以下代码可以在 Linux 上编译,但我无法在 Windows 上编译它: boost::filesystem::path defaultSaveFilePath( base_directory
我在函数的代码行下面运行 string internalPath(os.str()); m_tags.insert(make_pair(internalPath, tagConfig )); e
如何把所有的\都改成\\? 我想创建地址来处理文件: #include #include #include using namespace std; int main() { strin
我目前正在为一个类项目工作,其中我必须在 C++ 中实现布谷鸟哈希。问题是,C++ 和我从来都不是 friend ,而且我认为我们永远不会... 具体的问题是,我无法在已经存在的对象上设置指针。当我这
你能告诉我这段代码有什么问题吗?关于如何修复的任何想法? JNIEXPORT jstring JNICALL Java_COM_DEMO_TEST_SEND (JNIEnv *env, jclass
所以我是编程新手,这是大学工程类(class)的一部分。我决定找点乐子,在课外写点东西。我正在尝试用 C++ 编写一个程序,允许用户输入 3 个矩形棱柱的长度、宽度和高度值,程序将使用这 3 个值来计
我将重新发布我今天早些时候提交的问题,但现在我引用一个具体示例来回应我收到的反馈。可以在here中找到原始问题(请注意,这不是家庭作业): 我只是试图确定C++是否使不可能对basic_string对
当我尝试编译以下代码时: #include using namespace std; typedef std::basic_string foostring; foostring foo = "fo
我正在评估使用 basic_string 模板来实现一个类似字符串的对象,以便使用外部内存管理器进行分配。该内存管理器保持已分配内存的最大大小和当前大小(允许当前大小增加到最大大小)。为了避免冗余,我
我有一个函数,ModuleManager::tick(),代码如下: void ModuleManager::tick() { auto now = std::chrono::steady_clock
我正在完成自定义字符串类的开发。当然,它的目的是等同于 basic_string,并为其预期目的定制了内部存储。我正在寻找一种测试工具,它可以按照 C++ 标准进行测试。我已经看到 libstdc++
在浏览 C++14/C++1y (n3690) 草案时,我注意到在第 21.7 节中引入了 basic_string 文字后缀: inline namespace literals { inline
我是一名优秀的程序员,十分优秀!