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 Cognizant
AI er ikke problemet. Eksekvering er.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
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!)
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)