je voudrais copier des données de char*
à une autre dernière adresse de char*
Impossible de copier le caractère dans la dernière adresse de caractère * (chaîne)?
illustration
var1 -> O
var2 -> K
première étape
var1 -> OK
var2 -> K
copie var2
à var1
résultat
var1 -> OK
code écrit
#include <stdio.h>
#include <string.h>
void timpah(char *dest, char *src, int l_dest, int l_src)
{
int i = 0;
while(i < l_dest)
{
dest[l_dest+i] = src[l_src+i];
i++;
}
}
int main()
{
char res[2024];
res[1] = 0x4f;
char a[] = {0x4b};
timpah(res,a,1,1);
printf("%s [%d]\n",res,strlen(res));
return 0;
}
run
[email protected]:/tmp# gcc -o a a.c
[email protected]:/tmp# ./a
[0]
ques Pourquoi mon code ne fonctionne pas?
Pourquoi mon code ne fonctionne pas? ou existe-t-il une fonction existe déjà pour les exécuter, mais je ne le sais pas encore?
thx pour toute l'attention
Qu'advient-il si vous imprimez res juste après 'res [1] = 0x4F;'? Qu'y a-t-il dans 'res [0]'? –
je suis tout à fait sûr que c'est comme des fautes de frappe, mais lorsque je corrige 'res [1] = 0x4f' à' res [0] = 0x4f' et 'timpah (res, a, 1,1)' à 'timpah (res, a, 1,2) ', le résultat est toujours le même .. une solution? – capede
Que sont l_dest et l_src? Sont-ils censés être des longueurs ou des compensations? –