Vous trouverez ci-dessous un exemple extrêmement simple. Il comstack bien en utilisant gcc sur Mac OS X (Snow Leopard). Au moment de l’exécution, il génère une erreur de bus: 10. Que se passe-t-il ici? char* a = “abc”; a[0] = ‘c’;
Dupliquer possible: C Macros pour créer des chaînes J’ai une fonction qui accepte un argument de type char* , comme f(“ssortingng”); Si l’argument de chaîne est défini à la volée dans l’appel de la fonction, comment les macros peuvent-elles être développées dans le corps de la chaîne? Par exemple: #define COLOR #00ff00 f(“abc COLOR”); serait […]
Il semble que strtol() et strtod() permettent (et vous obligent) de jeter la constance dans une chaîne: #include #include int main() { const char *foo = “Hello, world!”; char *bar; strtol(foo, &bar, 10); // or strtod(foo, &bar); printf(“%d\n”, foo == bar); // prints “1”! they’re equal *bar = ‘X’; // segmentation fault return 0; } […]
J’ai une chaîne en C qui ressemble à “Nmy ssortingngP” , où N et P peuvent être n’importe quel caractère. Comment puis-je le modifier dans “my ssortingng” en C?
que dois-je utiliser lorsque je veux copier src_str dans dst_arr et pourquoi? char dst_arr[10]; char *src_str = “hello”; PS: ma tête tourne plus vite que le disque de mon ordinateur après avoir lu beaucoup de choses sur la qualité et l’ strncpy et strlcpy . Note: Je sais que strlcpy n’est pas disponible partout. Ce […]
J’ai vu utiliser ce motif pour concaténer une chaîne dans un code sur lequel je travaillais: sprintf(buffer, “%s \r\n”, buffer, id); sprintf(buffer, “%s”, buffer); et je suis presque certain que ce n’est pas sûr C. Vous remarquerez que le buffer est à la fois la sortie et la première entrée. Mis à part la possibilité […]
Tout en utilisant gets() dans mon code, le compilateur crie warning: the ‘gets’ function is dangerous and should not be used.` et warning: ‘gets’ is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations] Des raisons spécifiques?