| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    Cómo reducir la longitud de una cadena en C
    Cuando se trabaja con cadenas en C , puede ser útil para aumentar o reducir dinámicamente el tamaño de una cadena de gestionar la memoria de manera eficiente. Cadenas normales definidas por la palabra clave " char * " tienen tamaños estáticos que no pueden cambiar , por lo que necesita para trabajar directamente con los bloques de memoria en su lugar. Utilice la función " malloc " para crear un bloque de memoria que almacena la función " realloc " para cambiar el tamaño del bloque de memoria de cadena en cuando. Instrucciones
    1

    Abra el archivo de origen C en un editor como Microsoft Visual Studio Express.
    2

    Agregue el código siguiente al principio del archivo fuente C para que puede acceder a las funciones de la memoria :

    # include

    # include
    3

    Declare las variables que va a utilizar , añadiendo el siguiente código en la parte superior de su función :

    char * buf, cur_ptr * , * temp_ptr ;

    char c ;

    mem_size size_t = 200 ;

    size_t mem_used = 0 ;
    4

    llamar a la función " malloc " para asignar un bloque de memoria que se puede utilizar para almacenar la cadena , con el código :

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

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

    Recibir la entrada del usuario , un carácter a la vez, hasta que haya introducido un carácter de nueva línea ('\\ n ') o 200 caracteres , con el código :

    cur_ptr = buf ;

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

    * cur_ptr + + = c ; !

    mem_used + + ;

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

    }
    6

    llamar a la función " realloc " para reasignar el bloque de memoria , lo que reduce su tamaño por 2, con el siguiente código :

    if ( mem_used > 2 ) {

    mem_size - = 2 ;

    temp_ptr = realloc ( buf, mem_size ) ;

    if ( temp_ptr == NULL ) return -1 ;
    < p > buf = temp_ptr ;

    cur_ptr = buf + mem_used ;

    }

    el puntero puntos " buf " al comienzo del bloque de memoria " cadena" y " cur_ptr " apunta a la posición actual , que es el fin de la " cadena ".
    7

    llamar a la función "libre " para liberar el bloque de memoria para la cadena , de lo contrario el programa tendrá una pérdida de memoria , con el código : .

    libre (buf ) ;
    8

    Guarde el archivo C, compilar y ejecutar el programa para ejecutar el nuevo código de cadena


    Previous :

    next :
      Artículos relacionados
    ·Importancia del Proceso de Selección de Diseño de sis…
    ·Cómo mostrar un triángulo rectángulo de números en …
    ·Cómo eliminar una fila de DataGridView 
    ·Cómo programar en Visual C 
    ·Cómo hacer cuadrantes Gráfico en C + + 
    ·Cómo escribir una secuencia de entrada en una corrient…
    ·Cómo visualizar Fuentes de MFC 
    ·Como modelo de sistemas de hardware en SystemC 
    ·Cómo acceder a los podcasts de vídeo con el iPhone SD…
    ·Cómo crear un archivo binario de C # 
      Artículos destacados
    ·Cómo visualizar una lista de puntos en WPF 
    ·Cómo solucionar problemas de un Marco NET Runtime Erro…
    ·Cómo utilizar ListView con una casilla en VBA 
    ·Cómo reproducir audio en Silverlight 
    ·Cómo obtener un puntero a un mapa de bits en C + + 
    ·Cómo leer en Cuerdas en la matriz C + + 
    ·Cómo reemplazar Regex en Python 
    ·Cómo utilizar las constantes en Pseudocódigo 
    ·Cómo utilizar varios archivos JavaScript en coordinaci…
    ·Cómo importar XLS para NET 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com