kalf2000
Messages postés50Date d'inscriptionmardi 28 janvier 2003StatutMembreDernière intervention23 août 2005
-
12 mars 2003 à 12:07
kalf2000
Messages postés50Date d'inscriptionmardi 28 janvier 2003StatutMembreDernière intervention23 août 2005
-
13 mars 2003 à 21:32
salut, g un blem, le code suivant me génère une erreur au dernier strcat. file est censé être egal a 87248364_48.bmp
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 12 mars 2003 à 12:33
itoa(tempo,tmp_CB,10);
1ere erreur.
tempo ne peut pas rentrer dans tmp_CB.
Donc erreur NON au strcat mais ici car ecrase valeurs suivantes dans le registre. Quand tu dois transformer 32 bits en ASCII toujours mimi 12 de taille buffer.
BruNews, ciao...
superpa
Messages postés113Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 5 janvier 2004 12 mars 2003 à 13:17
C'est une idée de mettre 12 bytes minimum mais il existe une bien meilleure:
elle fonctionne dans tous les cas:
déclarer un char *temp_CB = new char[sizeof(int) + 1]
on devrait TOUJOURS procéder de la sorte.
Par exemple pour la copie d'un chaîne de car:
char ch1[] = "azerty"
char *autech = new char[strlen(ch) + 1];
Profite que le C++ autorise la déclaration à n'importe quel endroit pour déclarer ton file + loin et avec une bonne taille. 50 sera-t-il absolument tjrs suffisant?
De plus, en procédant de la sorte, on évite, dans le cas d'un CGI ou d'un ISAPI, une des attaques favorites des hackers: le "buffer overrun"
Ceci dit, ton erreur n'était pas plutôt une erreur de compil?
si oui, essaie:
strcat(file,(LPCTSTR)ext);
qui caste un CString en chaîne de car à la C.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 12 mars 2003 à 13:31
Le new provoque un tour de manege du memory manager.
calcule nombre cycles processeurs...
char buff[12];
sub esp, 12
1 seul cycle parallelisable, Y A PHOTO ?
BruNews, ciao...