gpt4 book ai didi

c++ - 将字符串从一个 .cpp 文件传输到另一个

转载 作者:太空狗 更新时间:2023-10-29 23:13:29 31 4
gpt4 key购买 nike

晚上好,我从事的项目要求我在一个 .cpp 文件中使用一个字符串变量,并在下一个 .cpp 文件中使用相同的字符串变量。这是我的 patientdatabase.cpp:

void patientDatabase::on_tableView_view_activated(const QModelIndex &index)
{
QString value = ui->tableView_view->model()->data(index).toString();
patientR.connOpen();
QSqlQuery qry;
qry.prepare("select * from imageTable where PatientId = '"+value+"'");
if (qry.exec()){
IVDB *x = new IVDB;
x->show();
}

每当我在我的 patientDatabase 中提供的表上单击 patientId 时,此函数基本上会将窗口更改为 IVBD,现在我需要在我的 IVBD.cpp 中使用字符串“值”

QSqlQuery *qry = new QSqlQuery(registration.db);
qry->prepare("select * from imageTable where PatientId ='"+value+"'"); // this string 'value; is from the last .cpp file

我不想使用全局变量,但卡在这里,不知道如何处理它。

最佳答案

如果您不想使用全局变量,最好分享您的类,我们可以考虑您当前的设计。否则下面有一个全局方法。

您将在头文件中定义一个名为value 的全局变量,并在定义时使用extern 关键字。这意味着有一个创建一次的全局 value 变量,每个包含该 header 的 .cpp 文件都将使用相同的变量。让我写一个例子。

假设您有定义字符串值的 common.h 文件:

extern std::string value;

您有两个不同的 .cpp 文件,它们共享相同的值。在 file1.cpp 中创建该 value

file1.cpp:

#include "common.h"

std::string value;

void fooInFile1() {
value = "Changed from fooInFile1!";
}

file2.cpp

#include "common.h"

void fooInFile2() {
value = "Changed from fooInFile2!";
}

在此示例中,file1.cpp 和 file2.cpp 影响相同的 value 变量。

关于c++ - 将字符串从一个 .cpp 文件传输到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38883121/

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