gpt4 book ai didi

c++ - 如何在 C++ 中将字符串传递给双引号

转载 作者:行者123 更新时间:2023-11-27 23:06:52 24 4
gpt4 key购买 nike

背景:

我将 Matlab 与 C++ 一起用于绘图目的。在我目前的过程中,我需要使用 matlab 的函数将一个变量传递给 matlab 以及一个将在 matlab 环境中命名该变量的字符串。我调用的函数是 engPutVariable(ep, "varMatlab", varC++) 其中 ep 是类 (matlab)Engine 的对象,varC++ 是变量的名称在我传递的 C++ 中,当存储在 matlab 工作区中时, varMatlab 将是同一变量的名称。我使用的过程需要 4 行代码来传递一个变量,它为我传递的每个变量做同样的工作,因此我想编写一个函数,它的参数是 c++ 中的变量名称和变量名称需要在 ""引号中的 matlab。

问题:

由于该函数需要在“”(双引号)内传递变量名,我想传递一个字符串来代替引号内的 varMatlab。我尝试在字符串本身中插入“”,但在这种情况下似乎不起作用。任何帮助都会非常有帮助。

我写了下面的函数来做同样的事情,但是字符串 name 应该在我不知道如何传递的“”里面。

void putVar(double* var,int N, string name, Engine *ep){
double row = N, col = N;
mxArray *matlab = mxCreateDoubleMatrix(row, col, mxREAL);
double *pa = mxGetPr(matlab);
memcpy(pa, var, sizeof(double)*row*col);
engPutVariable(ep, "name" , matlab);
}

最佳答案

插入“作为\”。由于"是字符串的特殊符号,需要进行转义。所以带引号的字符串"Hello World"在C++中是这样的

std::cout << "\"Hello World\"\n";

问候托拜厄斯

关于c++ - 如何在 C++ 中将字符串传递给双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23004057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com