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 tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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