Articles of c ssortingngs

Pourquoi ne puis-je pas modifier un caractère dans un caractère *?

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’;

Développer les macros dans la chaîne entre guillemets

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 […]

Strtol, strtod sont-ils dangereux?

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; } […]

Enlève le premier et le dernier caractère de la chaîne C

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?

strncpy ou strlcpy dans mon cas

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 […]

Sprintf (tampon, «% s », tampon, ) est-il sûr?

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é […]

Pourquoi gets () est obsolète?

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?