06. februar 2008 - 17:28Der er
8 kommentarer og 1 løsning
Ændringer i string variabler
Hej, hvordan er det man ændrer i strings?
Eksempel:
Jeg har en variabel (string x = "12345"). Hvis jeg nu vil ændre det midterste tal til 9 uden at røre de andre tal, hvordan gør jeg så? Jeg har prøvet at lave en pointer (*(x+2 = 9)), men det virker ikke da en string er et objekt og ikke et char array... æv :(
Hmmm nej, jeg beklager at jeg ikke har udtrykket mig klart nok.
Jeg forsøger at lave en funktion, som tager imod et navn og dernæst validerer navnet. Måden valideringen foregår på er, at jeg tjekker om hver plads i mit string er et bogstav, hvis det er det, så ønsker jeg at sætte indholdet af den plads lig med pladsen i en string, som jeg har erklæret i min header.
Min fremgangsmåde er:
for (int i = 0; (i < (a.length())); i++) { if ((isalpha(a[i])) && (i != 0)) fornavn[i] = a[i]; // her klipper båndet :( else if ((isalpha(a[i])) && (i == 0)) fornavn = toupper(a[i]); else ...
jeg er har fundet en imidlertidlig løsning på problemet. Over for-løkken skriver man blot fornavn = a;
Problemet skyldes tilsyneladende, at man ikke kan initialisere pladser i et objekt af string medmindre objektet er initialiseret i forvejen. String er jo et objekt indholdende char arrays (?) og hvis det ikke er initialiseret i forvejen, så er der vel heller ikke nogle pladser at pege på...?
Nåh, men ellers tak arne. Jeg beklager desuden at jeg var for hurtig med at dele points ud til mig selv, eftersom løsningen ikke var optimal :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.