Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Lengde på String Uten bygd funksjon i C + +
    Normalt kan en programmerer hente lengden av en setning ( eller streng) i noen C + + program ved kall strengens "lengde ( ) "-metoden . Men strenger som implementert i C + + var ikke alltid tilgjengelig, og programmerere ikke har tilgang til ferdige metoder som lengde ( ) . Telle lengden på en streng uten å bruke dette bygget i metoden innebærer forståelse streng, c - stil karakter arrays , og hvordan du kan iterere over dem . C + + Strings og C Strings

    I C + + , den innebygde data type " string " representerer setninger , setninger eller ord . Imidlertid representerer strengen datatype faktisk hva programmerere kaller en " c -style" streng. I den opprinnelige C-språk , programmerere lagret setninger som samlinger ( eller arrays) av tegn . Så mens i C + + , ser en setning variabeldeklarasjon som:

    string str = "Hei ";

    i C , ser den samme erklæringen som:

    røye str [ 50 ] = "Hei ";

    Hvor " str " representerer et utvalg av 50 tegn. Videre, siden C - stil strenger er rett og slett arrays , de alle ender med en Null avslutning karakter ( "\\ 0 ") som betyr slutten på strengen .
    " C_str ( )" Metode

    det interessante strenger i C + + er at de er en klasse , og som en klasse inneholder metoder for å gjøre arbeid på strengen . En av disse metodene ( " c_str ( )" ) gir en C - stil -streng som representerer den C + + streng. Dette betyr at avkastningen verdien vil ende opp som et tegn array som inneholder tegnene i strengen , inkludert null oppsigelse karakter.
    Kopiering av C String
    < p > å faktisk gjøre noe med C - stil streng hentet fra c_str ( ) , må programmerer å sette det inn i en karakter matrise. Dette krever at " strcpy "-metoden , som vil kopiere en karakter matrise til en annen : en

    # include

    # include

    # include < ; iostream >

    bruker namespace std;

    string str = "A String ";

    røye str2 [ 50 ];

    strcpy ( str2 , str . c_str ( ) )

    nå vil C - stil streng representasjon av " str " kopiere inn i karakteren array " str2 " ( inkludert null - tegn ) .
    Telle tegn

    nå som programmereren har en rekke kopi av strengen , inkludert null tegn som vil informere programmereren når strengen slutter , blir det et spørsmål om bare å telle tegn til programmet treffer null karakter : en

    int i = 0;

    while ( ! str2 [ i] = "\\ 0 ") {

    i + + Online

    }

    cout << i + 1;

    "mens " loop sjekker hvert tegn fra begynnelsen ( 0th tegnplassering ) til å nå null tegn . Deretter skriver programmet i en ( fordi indeksen starter på 0 , og null tegn stilling telles ikke ) som resulterer i en avkastning verdi på åtte .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan Program Games i C + + 
    ·Slik konverterer LPSTR til INT 
    ·Slik formaterer datoer og klokkeslett Med iostream 
    ·Hvordan Åpne opp MS - DOS 
    ·Hvordan lage en String å godta Spaces 
    ·Hvordan legge til to matriser ved hjelp av pekere 
    ·Hvordan skrive HTML Extensions i C 
    ·Hvordan lage Strings små bokstaver på C + + 
    ·Hva er Syntax i C + + 
    ·Hvordan bruke Ogre Vector3 Operator 
      Anbefalte artikler
    ·Hvordan redigere PHP i Design Mode 
    ·Hvordan bruke Silverlight i Asp.NET 
    ·Slik konverterer en Access Query til MySQL 
    ·Visual Basic Controls og funksjoner 
    ·Slik konverterer en Double til et heltall i C 
    ·Hvordan lære Shorthand Typing 
    ·Slik fjerner du på Lukk på VBA 
    ·Slik deaktiverer magic_quotes_gpc 
    ·Hvordan Riktig en Syntax Error 
    ·Hvordan bruke JS å skrive til et annet dokument 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/