Avatar billede sarid Nybegynder
05. juli 2002 - 18:06 Der er 7 kommentarer og
1 løsning

string

...
buffer[64];
memset(buffer, 'a', 64);

Hvordan kan jeg tilføje f.eks. "xxx" forrest i bufferen buffer? Er det muligt at gøre dette uden at gøre det på denne måde:

memset(buffer, "xxx", 3);

Kan man ikke gøre det på denne måde?

char *str = "xxx" + buffer;


På forhånd tak.
Avatar billede kamikaze Nybegynder
06. juli 2002 - 12:46 #1
Du kan bruge:
strcpy(buffer, "xxx");
Avatar billede kamikaze Nybegynder
06. juli 2002 - 12:47 #2
strcpy() sætter strengen til det du ber den om (pas på længden!), og nul-terminerer.

du kan bruge strcat(buffer, "xxx"); til at 'appende' på strengen, dvs. lægge noget til det der er i forvejen. Dette kald nul-terminerer også strengen.
Avatar billede kamikaze Nybegynder
06. juli 2002 - 12:49 #3
mht. memset er den beregnet på at sætte det antal bytes du giver til et bestemt tegn:

memset(buffer, ' ', 63); // padder din streng med 63 spaces (der SKAL være plads til nul-terminering, ellers giver det problemer!)
Avatar billede kamikaze Nybegynder
06. juli 2002 - 16:12 #4
btw: du skal huske at includere string.h for at ovenstående virker
Avatar billede kamikaze Nybegynder
06. juli 2002 - 16:15 #5
Du kan også bruge STL strings. De er noget nemmere:

#include <string>
#include <iostream.h>

using namespace std;

void main()
{
  string str1 = "Hello";
  string str2 = "World";
  string str3 = str1 + ", " + str2;
  cout << str3 << endl;
}

Med STL strings kan du bruge +operatoren
Avatar billede kamikaze Nybegynder
06. juli 2002 - 16:17 #6
De mest brugte streng typer:

char*/char[] (ANSI C)
STL string  (ANSI C++)
CString      (MFC, Microsoft Visual C++ specifik)
AnsiString  (VCL, Borland C++ Builder specifik)
Avatar billede sarid Nybegynder
08. juli 2002 - 15:14 #7
I see. strncpy virker godt. Tak for hjælpen!
Avatar billede kamikaze Nybegynder
08. juli 2002 - 21:09 #8
takker for points :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester