C++ Buffer
amine69500
Messages postés
471
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
je souhaiterais savoir comment je pourrais modifier mon code sous c++ afin que celui ci memorise mon resultat dans un buffer et non pas dans un chunk.memory
le but aprés, est de recuperer le resultat de la memoire (buffer) sous excel
merci de votre aide
cordialement
mon code
int totoConnector::getPro(LPCSTR key, LPCSTR* result)
{
CURLcode res;
struct MemoryStruct chunk;
chunk.memory = (char*)malloc(1); /* will be grown as needed by the realloc above */
chunk.size = 0; /* no data at this point */
int error = 1;
string credentialS = this->userName + ":" + this->password;
char *credential = new char[credentialS.size()+1] ;
strcpy(credential, credentialS.c_str());
string urlS = this->baseUrl + this->projectUrl + "/" + convertLPCSTRToStr(key) ;
char *url = new char[urlS.size()+1] ;
strcpy(url, urlS.c_str());
if (curl)
{
curl_easy_setopt(curl, CURLOPT_URL,url);
curl_easy_setopt(curl, CURLOPT_HTTPGET,1);
curl_easy_setopt(curl, CURLOPT_USERPWD, credential);
/* send all data to this function */
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
/* we pass our 'chunk' struct to the callback function */
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);
res = curl_easy_perform(curl);
}
printf(chunk.memory);
if(chunk.memory)
free(chunk.memory);
return error;
}
merci de votre aide
je souhaiterais savoir comment je pourrais modifier mon code sous c++ afin que celui ci memorise mon resultat dans un buffer et non pas dans un chunk.memory
le but aprés, est de recuperer le resultat de la memoire (buffer) sous excel
merci de votre aide
cordialement
mon code
int totoConnector::getPro(LPCSTR key, LPCSTR* result)
{
CURLcode res;
struct MemoryStruct chunk;
chunk.memory = (char*)malloc(1); /* will be grown as needed by the realloc above */
chunk.size = 0; /* no data at this point */
int error = 1;
string credentialS = this->userName + ":" + this->password;
char *credential = new char[credentialS.size()+1] ;
strcpy(credential, credentialS.c_str());
string urlS = this->baseUrl + this->projectUrl + "/" + convertLPCSTRToStr(key) ;
char *url = new char[urlS.size()+1] ;
strcpy(url, urlS.c_str());
if (curl)
{
curl_easy_setopt(curl, CURLOPT_URL,url);
curl_easy_setopt(curl, CURLOPT_HTTPGET,1);
curl_easy_setopt(curl, CURLOPT_USERPWD, credential);
/* send all data to this function */
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
/* we pass our 'chunk' struct to the callback function */
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);
res = curl_easy_perform(curl);
}
printf(chunk.memory);
if(chunk.memory)
free(chunk.memory);
return error;
}
merci de votre aide
A voir également:
- Buffer cpp
- Dev-cpp - Télécharger - Langages
- Camconfig cpp 756 ✓ - Forum Logiciels
- Modulo cpp ✓ - Forum C++
- Uma frame buffer size c'est quoi - Forum Programmation
- Ln cpp ✓ - Forum C++
2 réponses
tu en codes en C++ comme en C. C'est moche.
Je ne comprend rien à ta question. Pour moi buffer est une zone tampon, donc plutôt temporaire de mémoire, qui souvent sert à l'accumulation. C'est un concept, pas quelque chose de concret. Essai d'être plus clair dans ce que tu veux.
Je ne comprend rien à ta question. Pour moi buffer est une zone tampon, donc plutôt temporaire de mémoire, qui souvent sert à l'accumulation. C'est un concept, pas quelque chose de concret. Essai d'être plus clair dans ce que tu veux.
Bonsoir et merci de votre aide
voila mon probleme:
j'ai créer une dll sous c++ avec une fonction (une variable LPSTR, et un pointeur sur result)
ensuite j'ai declaré cette dll sous vba, pour l'utilisé avec vba et avoir le resultat sous excel
donc pour l'instant comme vous pouvez voir sur mon code (message1) le resultat de ma fonction est stocker sous chunk.memory, et mon but est de tranformer le stockage dans chunk.memory en stockage dans un buffer
comme ca ensuite je pourrais recuperer le resultat stocker dans le buffer et l'afficher sur excel.
voila j'espere que j'etais claire, sinon n'hesite pas
merci dce votre aide
cordialement
voila mon probleme:
j'ai créer une dll sous c++ avec une fonction (une variable LPSTR, et un pointeur sur result)
ensuite j'ai declaré cette dll sous vba, pour l'utilisé avec vba et avoir le resultat sous excel
donc pour l'instant comme vous pouvez voir sur mon code (message1) le resultat de ma fonction est stocker sous chunk.memory, et mon but est de tranformer le stockage dans chunk.memory en stockage dans un buffer
comme ca ensuite je pourrais recuperer le resultat stocker dans le buffer et l'afficher sur excel.
voila j'espere que j'etais claire, sinon n'hesite pas
merci dce votre aide
cordialement
donc pour l'instant comme vous pouvez voir sur mon code (message1) le resultat de ma fonction est stocker sous chunk.memory
Euh, moi ce que je vois surtout c'est que le résultat de ta fonction est "error" (int) et non chunk.memory;
Ensuite ton code est vraiment moche. On mélange pas le C et le C++. Pourquoi diable mélanger s'embêter avec des tableaux de char en C++ là où un simple string suffit ?
printf(chunk.memory);
Plutôt : printf("%s", chunk.memory);
Sinon pourquoi ne pas faire ton buffer et copier ton chunk.memory dedans ?
Je ne comprends pas tout ce que tu souhaites faire...
Euh, moi ce que je vois surtout c'est que le résultat de ta fonction est "error" (int) et non chunk.memory;
Ensuite ton code est vraiment moche. On mélange pas le C et le C++. Pourquoi diable mélanger s'embêter avec des tableaux de char en C++ là où un simple string suffit ?
printf(chunk.memory);
Plutôt : printf("%s", chunk.memory);
Sinon pourquoi ne pas faire ton buffer et copier ton chunk.memory dedans ?
Je ne comprends pas tout ce que tu souhaites faire...
bonsoir et merci de votre aide ,
c vrai l'idee de créer un buffer et mettre mon chunk memory dedans me parait bien mais le probleme est comment je pourrais créer mon buffer pour mettre mon chunk memory dedans
si vous pouvez me donnée un exemple ca m'arrangerais
et merci encore de votre aide
cordialement
c vrai l'idee de créer un buffer et mettre mon chunk memory dedans me parait bien mais le probleme est comment je pourrais créer mon buffer pour mettre mon chunk memory dedans
si vous pouvez me donnée un exemple ca m'arrangerais
et merci encore de votre aide
cordialement
Rassure-moi, tu ne comptes pas récupérer le contenu de ta variable string C++ en vba comme si de rien n'était ? Cela n'est pas si simple. Le string C++ et le string vba n'ont en commun que le nom.
Dans ton code C++, tu travailles en Ansi ou Unicode pour tes chaînes ? Ansi non ?
Ne peux-tu pas utiliser le type BSTR (au lieu de string) ? Ca serait plus simple.
Dans ton code C++, tu travailles en Ansi ou Unicode pour tes chaînes ? Ansi non ?
Ne peux-tu pas utiliser le type BSTR (au lieu de string) ? Ca serait plus simple.