gpt4 book ai didi

c++ - 如何获取字符串的总内容?

转载 作者:行者123 更新时间:2023-11-28 08:14:24 25 4
gpt4 key购买 nike

我已将一个 printf 格式的字符串传递给一个函数,并尝试使用 sscanf() 来分隔该字符串的内容。但以下是使用此功能的问题。我将该函数称为 follws:

int var = -1;
ostringstream ossi;
ossi << "myContent";
std::string detailString = "my first line \n
the secon dline content is alos present \n
also we are also get s sdjhf sf"
myFunction("What value: %d \n My content: %s \n Detail Content: %s", var, ossi.str().c_str(), detailString.c_str());

实现如下:

void myFunction(const char * format, ...)
{

int var;
char myContent[10000];
char detailContent[50000];
if (sscanf(myString, "What value: %d \n My content: %s \n Detail Content: %s", &var, cmyContent, detailContent) == 3)
{
std::cout<<" #### "<<std::endl;
std::cout<<"var value is :"<<var<<std::endl;
std::cout<<"My content is :"<<myContent<<std::endl;
std::cout<<"detailContent is :"<<detailContent<<std::endl;
std::cout<<" #### "<<std::endl;
}
}

有了上面的函数,我的输出如下:

var value is : -1
My content is : myContent
detailContent is : my first line

它不是获取第三个参数的全部内容(即 detailContent),而是只获取第一行。获取完整字符串内容的任何建议。提前致谢。

最佳答案

C 和 C++ 中的可变参数并不像您认为的那样工作。参见 this link有关如何使用可变参数的教程。

或者查看stdarg 的手册页。

关于c++ - 如何获取字符串的总内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118834/

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