Articles of ssortingng

La chaîne de style Pascal en chaîne de style C et C se compare dans une fonction

J’ai besoin d’écrire une petite fonction en langage C, où j’ai une chaîne de style Pascal et une autre chaîne, une chaîne de style C. Dans cette fonction, je devrais comparer ces deux chaînes et si les deux sont identiques, la fonction doit renvoyer true, sinon renvoyer false. int main() { char pascal_ssortingng // here […]

Mise en œuvre de l’algorithme de Boyer Moore?

Existe-t-il un exemple fonctionnel de l’algorithme de recherche de chaînes de Boyer-Moore en C? J’ai regardé quelques sites, mais ils semblent assez buggés, y compris wikipedia. Merci.

Différence entre la chaîne créée par un tableau et un pointeur?

Dupliquer possible: Quelle est la difference entre char s [] et char * s en C? Quelle est la différence entre ceci: char arr[] = “Hello, world!”; Et ça: char *arr = “Hello, world!”; Où sont allouées la mémoire des deux chaînes? Pourquoi ne puis-je pas modifier le contenu de cette dernière chaîne?

Différentes façons de calculer la longueur de la chaîne

Un commentaire sur l’une de mes réponses m’a laissé un peu perplexe. Lors de la tentative de calcul de la quantité de mémoire nécessaire pour concaténer deux chaînes dans un nouveau bloc de mémoire, il a été déclaré que l’utilisation de snprintf était préférable à strlen , comme indiqué ci-dessous: size_t length = snprintf(0, 0, […]

Comment vérifier si la chaîne commence par une certaine chaîne en C?

Par exemple, pour valider l’URL valide, j’aimerais procéder comme suit char usUrl[MAX] = “http://www.stackoverflow” if(usUrl[0] == ‘h’ && usUrl[1] == ‘t’ && usUrl[2] == ‘t’ && usUrl[3] == ‘p’ && usUrl[4] == ‘:’ && usUrl[5] == ‘/’ && usUrl[6] == ‘/’) { // what should be in this something? printf(“The Url starts with http:// \n”); […]

Quel est un moyen sûr de joindre des chaînes en C?

Je dois construire un chemin vers un fichier à partir de deux chaînes. Je pourrais utiliser ceci (non testé, cependant): /* DON’T USE THIS CODE! */ /* cmp means component */ char *path_cmp1 = “/Users/john/”; char *path_cmp2 = “foo/bar.txt”; unsigned len = strlen(path_cmp1); char *path = path_cmp1; for (int i = 0; i < strlen(path_cmp2); […]

Éviter les avertissements dans les enveloppes autour de printf

J’ai une fonctionnalité de rapport d’erreur dans ma petite bibliothèque C que j’écris. Je souhaite fournir une fonction errorf en plus de la fonction plain plain afin de permettre l’intégration facile d’informations dans les messages d’erreur. /* * Prints a formatted error message. Use it as you would use ‘printf’. See the * ‘sio_error’ function. […]

Comment supprimer la ponctuation d’une chaîne en C

Je cherche à supprimer toute la ponctuation d’une chaîne et à mettre toutes les lettres majuscules en minuscule en C, des suggestions?

bonne pratique pour renvoyer une chaîne de longueur variable en c

J’ai une fonction de chaîne qui accepte un pointeur sur une chaîne source et renvoie un pointeur sur une chaîne de destination. Cette fonction fonctionne actuellement, mais je crains de ne pas suivre la meilleure pratique consistant à classer malloc, realloc et free. Ce qui diffère de ma fonction, c’est que la longueur de la […]

c – pourquoi est-il logique que l’indexation d’un pointeur de caractère soit un int?

char *a = “apple”; printf(“%s\n”, a); // fine printf(“%s\n”, a[1]); // comstackr complains an int is being passed Pourquoi l’indexation d’un pointeur de chaîne me donne-t-elle un int? Je m’attendais à ce qu’il imprime simplement la chaîne à partir de la position un (ce qui se produit réellement lorsque j’utilise &a[1] place). pourquoi ai-je besoin […]