gpt4 book ai didi

c++ - 文件存储 --> mysql

转载 作者:行者123 更新时间:2023-11-30 01:28:50 31 4
gpt4 key购买 nike

对不起我的英语:)试图改进我的应用程序我想将 vector 直接复制到mysql而不带字符串,这可能吗?

FileStorage fs( ".yml", FileStorage::WRITE + FileStorage::MEMORY );

Ptr < FaceRecognizer > model0 = createmyfisherRecognizer();

model0->train( images, labels );

model0->save( fs );




void myfisher::save( FileStorage & fs ) const {

static char * host = "localhost"; /* host serwera MySQL */
static char * user = "root"; /* nazwa loginu by polaczyc sie do serwera */
static char * password = ""; /* haslo */
static char * sql_db = "fisher"; /* nazwa bazy */
static unsigned int sql_port = NULL; /* port na jakim odbiera/wysyla serwer mysql */
static char * opt_socket = NULL; /* socket name */
static unsigned int sql_flags = 0;
static MYSQL * sock; /* Wskaznik do polaczenia do MySQL */

sock = mysql_init( NULL );

if( mysql_real_connect( sock, host, user, password, sql_db, sql_port, opt_socket, sql_flags ) )
cout << "Poprawnie polaczyles sie z baza danych" << endl;
else
cout << "Blad w polaczeniu z baza danych" << endl;

fs << "num_components" << _num_components;
fs << "mean" << _mean;
fs << "eigenvalues" << _eigenvalues;
writeFileNodeList( fs, "projections", _projections );
fs << "labels" << _labels;

string buf = fs.releaseAndGetString();

fs.release();

string zapytanie = "insert into baa values (\"" + buf + "\")";

if( !mysql_query( sock, zapytanie.c_str() ) )
cout << "Poprawnie dodano" << endl;
else
cout << "Blad przy zapisywaniu" << endl;

}

这里我发布了有问题的代码。目前它的工作方式如下:

  1. 所有内容都保存到 fs(文件存储)
  2. fs中的数据转换为字符串
  3. fs 发送到数据库众所周知,如果不将字符串直接复制到数据库,程序运行速度会快得多。

最佳答案

我认为你可以使用snprintf为此,不幸的是,由于缺少变量类型,我无法给您确切的示例。

char string[100];
snprintf(string, 100, "printe text %s,\n and integer %i", "printf", 100); //almost same as printf

关于c++ - 文件存储 --> mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17696302/

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