begin process at 2012 05 28 23:21:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

SQL

 > 

copie de tableau de char


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

copie de tableau de char

mercredi 3 septembre 2008 à 10:31:06 | copie de tableau de char

majong

Bonjour
  je fais une requete mysql, puis dans un row j'ai le résultat, je sais aussi que la longueur de prix > longueur row
  Mon programme ne marche pas :

int requete(char ** prix) {
...
int i=0

...
strncpy(prix[i],row[0],sizeof(prix[i]));
prix[sizeof(prix[i]) - 1] = '\0';
i++;
...

}

...
char** prix= (char **)malloc(12*sizeof(char*));
requete(prix);
...



mercredi 3 septembre 2008 à 14:53:39 | Re : copie de tableau de char

fregolo52

Membre Club
Euh, c'est quoi le problème ?
Ca marche pas c'est un peu vague !!! tu peux expliquer le comportement actuel !
jeudi 4 septembre 2008 à 03:02:21 | Re : copie de tableau de char

SAKingdom

Membre Club
sizeof(prix[i])
Un pointeur pesant 4 octets (en 32 bits), sizeof d'un pointeur égal toujours 4.

char** prix= (char **)malloc(12*sizeof(char*));
Hmm. Je ne sais pas trop ce que tu souhaites faire ici mais si tu veux allouer de la mémoire pour tes pointeurs, on ne procède pas comme ca.
Voir:
http://www.codyx.org/snippet_allocateur-pointeur-pointeurs_293.aspx

C++ (@++)

dimanche 7 septembre 2008 à 09:46:39 | Re : copie de tableau de char

spidermario

prix[sizeof(prix[i]) - 1] = '\0';
alors que prix est un tableau de chaînes de caractères ?

Je ne comprends pas non plus pourquoi sizeof(prix[i]) au lieu de strlen(prix[i]) mais c'est sûrement moi qui n'ai pas exactement compris ce que tu voulais faire...
jeudi 9 octobre 2008 à 16:09:36 | Re : copie de tableau de char

majong

char **malloc2d (unsigned int num, unsigned int size)
{
    char **c, **d, *p;
    if(!(c = (char**)malloc((num*size)+(num*sizeof(char*))))) return 0;
    d = c; p = (char*)(c+num);
    do *d++ = p+(--num*size); while(num);
    return (**c);
}
...

char **prix;
prix = malloc2d(12,4);
while(row = mysql_fetch_row(res)) {
         memcpy(prix[i], row[0],4);
}
Ne compile pas !
jeudi 9 octobre 2008 à 16:13:40 | Re : copie de tableau de char

SAKingdom

Membre Club
Serait interessent de savoir le message d'erreur du compilateur.

C++ (@++)

jeudi 9 octobre 2008 à 16:19:34 | Re : copie de tableau de char

majong

In function 'malloc2d':
warning: return makes pointer from integer without a cast
jeudi 9 octobre 2008 à 16:28:36 | Re : copie de tableau de char

SAKingdom

Membre Club
Réponse acceptée !
Ça c'est une warning, ça n'empêche pas la compilation.

return (**c);

C'est quoi ça ? Tu retournes la valeur pointée par le premier pointeur...
Ne change pas l'implémentation que je t'ai fourni
void **malloc2d (unsigned int num, unsigned int size)
{
    char **c, **d, *p;
    if(!num || !size) return 0; //<- à retirer dans un code sûr
    
    if(!(c = (char**)malloc((num*size)+(num*sizeof(char*))))) return 0;
    d = c; p = (char*)(c+num);
    
    do *d++ = p+(--num*size); while(num);
    // OU
    // do *(d+(--num)) = p+(num*size); while(num);
    
    return (void**)c;
}
char **prix;
prix = (char**)malloc2d(12,4);
while(row = mysql_fetch_row(res)) {
         memcpy(prix[i], row[0],4);
}

Voilà. Devrait passer là.


C++ (@++)



Cette discussion est classée dans : requete, char, prix, row, sizeof


Répondre à ce message

Sujets en rapport avec ce message

debutant en c, probleme pour un programmme de compression [ par araborgne ] voila donc je cherchais un programme permettant de compresser et decompresser un fichier texte, et image.j'en ai trouver un, mais il est ecrit en c++, PROBLEME POINTEURS [ par zeloveur ] char * saisirChaine(){ int i=0; char *chn; chn=(char *)malloc(sizeof(char)); do { chn[i]=getchar(); chn=(char *)realloc(chn,(++i+1)*sizeof(char)); } taille chaine de char [ par langedechu ] Salut , voila mon prob (je sais plus comment faire) :j'ai une variable : const char *buffer; et j aimerais savoir le nombre de caractere stocker dans COLORREF to char* to COLORREF [ par melkiorlenecrarque ] Bonjour, Je voudrais envoyer à une application serveur un COLORREF  via send. J'ai donc besoin de transformer cette variable en char* Avec les exemp Pb de compilation (error C2593: 'operator <<' est ambigu) [ par nanou_26 ] J'obtient une erreur de compilation "error C2593: 'operator T m_va Probleme de lecture de BMP [ par handmousemaster ] Bonjour à tous, j'ai un probleme :je souhaite lire des fichier BMP, je n'ai aucun probleme pour lire les entetes, mais dès que je veux lire les donnée requete mysql en C [ par hotlips ] Bonjour,Petit problème avec une fonction qui effectue une requète mysql. La connection et la requète s'executent sans probleme, mais je voudrais pouvo Passage de requete mysql ! [ par chaya56 ] Bonjour,je tiens a prevenir que cela fait 2 ans que je n'ai plus fait de C++ et a l'epoque j'avais un niveau débutant !Donc ma question : pour un proj les fichiers [ par infodaoudi ] bonjour codeurj'ai la fonction suivantevoid Noeud::insererNF(char *fich,Noeud *ng){        ofstream A(fich,ios::out|ios::app|ios::binary);    if (!A) aide sur la fonction sizeof [ par miki42 ] Bonjour a tous j'ai besoin d'un peu d'aide je debute en C et je ne comprend pa une petite portion de code que j'etudie en ce moment a savoir: [CODE]


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales