MySQL C++ Problem

0

Witam,
Mam pewien problem otóż nie wiem jak rezultat skonwertować na zmienną char
korzystam z tego przykładu:
http://dev.mysql.com/doc/refman/5.6/en/connector-cpp-examples-complete-example-1.html

tam jest coś takiego

 while (res->next()) {
    cout << "\t... MySQL replies: ";
    /* Access column data by alias or column name */
    cout << res->getString("_message") << endl;
    cout << "\t... MySQL says it again: ";
    /* Access column fata by numeric offset, 1 is the first column */
    cout << res->getString(1) << endl;
  }

a chce aby było takie

 while (res->next()) {
    zmiennaChar = res->getString(1);
  }

Czy ktoś ma jakiś pomysł ?

Proszę o pomoc.

0

Podejrzewam: zmiennaChar = res->getString(1).c_str();

0

Mam coś takiego:

 
while (res->next()) {
    const char * test = (res->getString(1).c_str());
    MessageBox(NULL,LPCWSTR(test), NULL,MB_OK);
}

i zwraca mi dosłownie po chińsku :)

0

Ustaw kodowanie klienta na Unicode

0

Jak mogę to ustawić ?

0

Mam ustawiona na utf8 a zmienić nie mogę bo to na db4free.net

@Edit

ROZWIĄZANE, pierwsze na string potem na char.
_13th_Dragon dziękuje za naprowadzenie na ".c_str();" :)

std:string str = res->getString(1).c_str();
int TempNumOne=str.size();
char test[2000];
for (int a=0;a<=TempNumOne;a++)
{
     test[a]=str[a];
}
0
std:string str=res->getString(1);
char test[1025]={0};
strncpy(test,str->c_str(),sizeof(test)-1);

lub:

std:string str=res->getString(1);
char *test=strcpy(new char[str.size()+1],str.c_str());
// używamy test;
delete[] test; // zwolniamy test

lub:

std:string str=res->getString(1);
// i używaj sobie dalej tego str bez dziwacznych konwersji

1 użytkowników online, w tym zalogowanych: 0, gości: 1