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.
Annonceindlæg fra Deloitte
Du kan bruge: strcpy(buffer, "xxx");
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.
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!)
btw: du skal huske at includere string.h for at ovenstående virker
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
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)
I see. strncpy virker godt. Tak for hjælpen!
Kurser inden for grundlæggende programmering