关于变量的C ++问题:在字符串中添加一个整数[重复]
Posted
技术标签:
【中文标题】关于变量的C ++问题:在字符串中添加一个整数[重复]【英文标题】:C++ Question about variables : add an integer inside a string [duplicate] 【发布时间】:2021-05-19 16:44:25 【问题描述】:我有一个带有两个标签(label 和 lblclicount)和一个按钮(butprint)的窗口的代码 这是我在 youtube 上找到的一个小教程,我只是在变量周围添加了一些文本来计算用户制作的 clic 数量 . 我只想学习 C++ 我知道如何用 VisualBasic 做到这一点。 这是教程的链接:https://www.youtube.com/watch?v=Gi3VuB--vjU 并在下面我尝试解释我不太了解但它有效的东西。
void MainWindow::on_butprint_clicked()
static int nbrclic = 0;
QString strnbrclic, texte;
nbrclic++;
ui->label->setText("Hello World");
strnbrclic.sprintf("%i", nbrclic);
texte= "Vous avez cliqué " + strnbrclic + " fois.";
ui->lblcliccount->setText(texte);
我在想我能做到
ui->lblclicount->setText("Vous avez cliqué " + nbrclic + " fois.");
(但它不起作用。)
而不是不得不做
strnbrclic.sprintf("%i", nbrclic);
texte= "Vous avez cliqué " + strnbrclic + " fois.";
我想我理解 strnbrclic.sprintf("%i", nbrclic); 将整数 nbrclic 转换为字符串,然后将我的文本和 nbrclic 的变量值添加到新的一行
texte= "Vous avez cliqué " + strnbrclic + " fois.";
我是法国人,如果我的问题不易于理解,我很抱歉。
提前致谢
【问题讨论】:
你有什么问题? 【参考方案1】:要将 int 转换为字符串,您只需执行 to_string(your_int_here)
或者,只需使用<iostream>
。
to_string
是标准 <string>
库的一部分,因此要么声明您是 using namespace std
,要么将其用作 std::to_string
如果您将QString
用作Qt Core 库的一部分,那么要将其转换为标准std::string
格式,您可以调用your_variable_here.toStdString()
,如他们在@ 的文档中所述987654321@
【讨论】:
谢谢你的回答我要去研究命名空间;它在 C++ 中似乎很重要。【参考方案2】:SetText() 将 string 作为参数。在您提供的示例中,它之所以有效,是因为首先有一个 sprintf 指令:
strnbrclic.sprintf("%i", nbrclic);
有效地将 nbrclic(整数值)写入字符串 strnbrclic
那么你有:
texte= "Vous avez cliqué " + strnbrclic + " fois.";
其中concatenates三个字符串(strnbrclic是一个int写入字符串),所以没有类型错误。
你试图在你的代码中做的(那个不起作用的那个)是连接两个字符串和整数值,这是不可能的。为了使您的示例正常工作,您需要将nbrclic
写入字符串。
【讨论】:
感谢您的回答。现在我明白了,在 C++ 中我只能连接相同类型的值。 非常感激的伙伴。你的代码还能用吗?以上是关于关于变量的C ++问题:在字符串中添加一个整数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 R 中添加一个包含每个 FINAL 列表(在列表列表中)名称的变量