gpt4 book ai didi

c++ - 在 C++ 中将数字和 stdString 解析为 char* [QT]

转载 作者:行者123 更新时间:2023-11-30 19:46:01 25 4
gpt4 key购买 nike

我有这段代码,其中 audio_bitRatevideo_bitRate 是数字,audio_addressvideo_address 是字符串。

我从 Qt 界面获取这些变量,但我不知道当我尝试将这些变量解析为我的 char *vector[10] 时会发生什么,我做错了什么?

提前致谢。

int counter = 0;
char *vector[10];
memset(vector, 0, 10);
qDebug() << counter;
audio_address = ui->lineEdit->text().toStdString();
video_address = ui->lineEdit_2->text().toStdString();
audio_bitRate = ui->lineEdit_3->text().toDouble();
video_bitRate = ui->lineEdit_4->text().toDouble();
qDebug() << audio_bitRate;
qDebug() << video_bitRate;

pat_bitRate = ui->lineEdit_6->text().toDouble();
pmt_bitRate = ui->lineEdit_7->text().toDouble();
ewbs_bitRate = ui->lineEdit_8->text().toDouble();
qDebug() << "00";

//The problem is here

strcpy(vector[0], (char*)(&audio_bitRate));
strcpy(vector[1],(char*)(&audio_address));
strcpy(vector[2], (char*)(&video_bitRate));
strcpy(vector[3],(char*)(&video_address));

在这部分我的应用程序完成了,来自 QT 命令行的确切消息是`

"The program has unexpectedly finished."

最佳答案

1)我可以看到你没有为 vector 分配内存。

示例:

for (int i = 0; i < 10; i++)
{
int size = 10; // allocate size how much you required
vector[i] = (char*) malloc(size);
memset(vector[i], 0, size);
}

2)要将 QString 中的数字转换为 char *,您可以使用以下代码:

示例:

strcpy(vector[1], ui->lineEdit_3->text().toStdString().c_str());

注意:要将数字转换为字节数组,您需要使用不同的方法。

关于c++ - 在 C++ 中将数字和 stdString 解析为 char* [QT],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25050725/

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