Constant char

Tags:    c++

er det på nogen måder muligt at indsætte en tekst i en constant char, og/eller hvordan får man programmet til at læse en char som constant char når man sender det til en funktion.
desuden så får man sat længden af teksten ind i en integer?



er det på nogen måder muligt at indsætte en tekst i en constant char, og/eller hvordan får man programmet til at læse en char som constant char når man sender det til en funktion.
desuden så får man sat længden af teksten ind i en integer?


En const char er jo konstant, så derfor må man principielt ikke ændre den.
Din compiler burde give dig en advarsel eller fejl, hvis du prøver.

Når man sender en char til en funktion, kan du bruge
function((const char)mychar);

Når du sender en char * (normalt kaldet tekst, hvilket du jo sikkert mener) til en funktion:
function((const char *)mytext);

Dit sidste "spørgsmål" (du har jo faktisk ikke skrevet noget) kan besvares ved:
int i = strlen(text);

Link til C++ funktioner og containers:
http://cppreference.com/

Du bør i øvrigt skrive char *, hvis du mener dette, da char og char * er to vidt forskellige ting.
En char er 1 tegn, altså 1 byte.
En char * er en pointer (altså en adresse til et sted i hukommelsen), som efter sigende skal indeholde en række af chars.
Den kan ligeså godt indeholde alt muligt andet eller ingenting, men det er kun hvis den peger uden for programmets tildelte hukommelsesområde at det går galt (for så vil dit styresystem lukke programmet med en fejl).

Nu kender du i hvert fald forskellen, hvis ikke du vidste det.

1101110100010110000101000001

[Redigeret d. 29/01-05 20:07:28 af Nicolai Lyster Fersner]



hvordan konverterer man fra char[88] til char[255]?



hvordan konverterer man fra char[88] til char[255]?


Du skulle tage at kigge på mit link, men:
enten
strcpy(char1, char2);
eller
memcpy(char1, char2, 88);

1101110100010110000101000001



t