Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment surcharger une fonction en C…
  • Comment utiliser une date Allez base…
  • Comment faire pour supprimer des enr…
  • Comment faire un rebond de l'objet e…
  • Comment faire pour exécuter le prog…
  • Comment faire pour importer une DLL …
  • Comment effectuer des E /S avec des …
  • Quels sont les variables de structur…
  • Comment déplacer un pointeur de fic…
  • Comment faire pour obtenir la ligne …
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    Comment faire pour réduire la longueur d'une chaîne en C

    Lorsque vous travaillez avec des chaînes en C , il peut être utile d'augmenter ou de réduire dynamiquement la taille d'une chaîne de gérer efficacement sa mémoire . Chaînes normales définies par le " char * " mot-clé ont des tailles statiques qui ne peuvent pas changer , si vous avez besoin de travailler directement avec des blocs de mémoire à la place. Utilisez la fonction " malloc " pour créer un bloc de mémoire qui stocke la la fonction " realloc " pour changer la taille de bloc de mémoire chaîne, puis . Instructions
    1

    Ouvrez votre fichier source C dans un éditeur tel que Microsoft Visual Studio Express .
    2

    Ajoutez le code suivant en haut de votre fichier source C de sorte que vous pouvez accéder aux fonctions de mémoire :

    # include

    # include
    3

    déclarer des variables que vous utiliserez en ajoutant le code suivant au début de votre fonction :

    char * buf, * cur_ptr , * temp_ptr ;

    char c ;

    mem_size size_t = 200;

    size_t mem_used = 0;
    4

    Appelez la fonction " malloc " pour allouer un bloc de mémoire que vous pouvez utiliser pour stocker la chaîne , en ajoutant le code suivant:

    buf = (char *) malloc ( ( mem_size ) * sizeof (char) ) ;

    if ( buf == null) return -1 ;
    5

    recevoir une entrée utilisateur , un caractère à la fois, jusqu'à un caractère de nouvelle ligne ( " \\ n " ) ou 200 caractères sont entrés , en ajoutant le code suivant:

    cur_ptr = buf ;

    while (( c = getchar ()) = '\\ n' ) {

    * cur_ptr + + = c ; !

    mem_used + +;

    if ( mem_used == mem_size ) break; < br >

    }
    6

    Appelez la fonction " realloc " de réaffecter le bloc de mémoire , ce qui réduit sa taille par 2, avec le code suivant :

    if ( mem_used > 2 ) {

    mem_size - = 2;

    temp_ptr = realloc ( buf, mem_size ) ;

    if ( temp_ptr == null) return -1 ;

    buf = temp_ptr ;

    cur_ptr = buf + mem_used ;

    }

    le pointeur " buf " pointe vers le début du bloc de mémoire "string" et " cur_ptr " souligne la position actuelle , qui est la fin de la « chaîne ».
    7

    appeler la fonction «libre» pour libérer le bloc de mémoire pour la chaîne , sinon votre programme aura une fuite de mémoire , en ajoutant le code suivant: .

    libre ( buf ) ;
    8

    Enregistrez votre fichier C , compiler et exécuter le programme à exécuter le nouveau code de chaîne


     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment utiliser C + + Classe Spécialisation Template 
  • Comment formater double en C 
  • Comment faire un quiz en C + + 
  • Comment écrire une feuille XLS en CSharp 
  • Comment utiliser GDB avec Eclipse 
  • Comment fusionner des algorithmes entier unique 
  • Comment importer des modèles dans GTK Radiant 
  • Comment utiliser SQLite3 sur une App iPhone 
  • Exigences pour un SDK iTouch 
  • Comment lire MDB pour ODBC 
  • Connaissances Informatiques © http://www.ordinateur.cc