| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Come ridurre la lunghezza di una stringa in C
    Quando si lavora con le stringhe in C , può essere utile per aumentare dinamicamente o ridurre le dimensioni di una stringa di gestire la memoria in modo efficiente . Stringhe normali definiti dal "char * " parola chiave hanno dimensioni statiche che non possono cambiare , quindi è necessario lavorare direttamente con i blocchi di memoria , invece. Utilizzare la funzione " malloc " per creare un blocco di memoria che memorizza la stringa e poi la funzione " realloc " per cambiare la dimensione del blocco di memoria . Istruzioni
    1

    Aprire il file sorgente C in un editor come Microsoft Visual Studio Express .
    2

    Aggiungere il seguente codice nella parte superiore del vostro file sorgente C in modo che è possibile accedere alle funzioni di memoria :

    # include

    # include
    3

    dichiarare variabili che si intende utilizzare , aggiungendo il seguente codice nella parte superiore della vostra funzione :

    char * buf , * cur_ptr , * temp_ptr ;

    char c ;

    mem_size size_t = 200 ;

    size_t mem_used = 0;
    4

    richiamare la funzione " malloc " per allocare un blocco di memoria che è possibile utilizzare per memorizzare la stringa , aggiungendo il codice : < br

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

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

    ricevere l'input dell'utente , un carattere alla volta , fino a quando un carattere di nuova riga ( '\\ n' ) o di 200 caratteri vengono inseriti , aggiungendo il codice :

    cur_ptr = buf ;

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

    * cur_ptr + + = c ; !

    mem_used + + ;

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

    }
    6

    richiamare la funzione " realloc " per riallocare il blocco di memoria , riducendo la sua dimensione da 2 , con il seguente codice :

    se ( mem_used > 2 ) {

    mem_size - = 2;

    temp_ptr = realloc ( buf , mem_size ) ;

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

    cur_ptr = buf + mem_used ;

    }

    il puntatore " buf " indica l'inizio del blocco di memoria " stringa" e " cur_ptr " punta alla posizione corrente , che è il fine della " stringa ".
    7

    richiamare la funzione " libera " per liberare il blocco di memoria per la stringa , altrimenti il ​​vostro programma avrà una perdita di memoria , aggiungendo il codice : .

    gratuito ( buf ) ;
    8

    Salvare il file C , compilare ed eseguire il programma per eseguire il nuovo codice stringa


    Previous :

    next :
      Articoli Correlati
    ·Come convertire un numero in un carattere utilizzando C…
    ·Come inizializzare le variabili in C 
    ·Come utilizzare il Microsoft Visual Studio C Compiler p…
    ·C + + di Microsoft Tutorial video 
    ·Come ordinare in una griglia di dati 
    ·Sharp String Funzioni Visual C 
    ·Come utilizzare i parametri della riga di comando in C …
    ·Come mostrare le immagini in Silverlight Datagrid 
    ·Conversione Char Buffer al doppio in C + + 
    ·C + + Funzioni che causano Buffer Overflow 
      Articoli in evidenza
    ·Come passare parametri a un Applet 
    ·VBA Funzione di commutazione 
    ·Come trovare le parole in un file con PHP 
    ·Come scrivere virgolette su file in VB Script 
    ·Come creare un if in Python 
    ·Come utilizzare ItemCheck eventi in Visual Basic 6.0 
    ·Come inserire un numero a due cifre decimali in Visual …
    ·Come esecuzione di controlli ActiveX con PHP 
    ·Come creare un programma che funziona come un calcolato…
    ·Come fare un programma di lavoro Python Senza Python 
    Copyright © Conoscenza Informatica http://it.wingwit.com