06. februar 2006 - 14:35
Der er
12 kommentarer
At dele string op
Hejsa! Jeg har en string der f.eks. ser således ud: c:\lala\lala\,hehehe,traaa Nu vil jeg gerne putte dette ind i tre forskellige strings, så de ender sådan her: str1 = c:\lala\lala\ str2 = hehehe str3 = traaa Hvordan gør jeg dette? Med venlig hilsen, Jon
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.
06. februar 2006 - 15:32
#1
strtok maaske
06. februar 2006 - 15:37
#2
eksempel som splitter paa mellemrum: #include <stdio.h> #include <string.h> int main() { char s[256],*p; printf("Enter line: "); fgets(s,sizeof(s),stdin); s[strlen(s)-1]='\0'; p = strtok(s, " "); printf("%s\n",p); while((p=strtok(NULL," "))!=NULL) { printf("%s\n",p); } return 0; }
06. februar 2006 - 15:39
#3
jeg ved faktisk ikke hvad det tilsvarende for C++ STL string er
06. februar 2006 - 20:58
#4
Jeg kender heller ikke nogen let metode i C++, så man er nok nødt til at kaste sig ud i: #include <iostream> #include <string> int main() { std::string In = "c:\\lala\\lala\\,hehehe,traaa"; std::string::size_type p1 = In.find(','); std::string::size_type p2 = In.find(',', p1 + 1); std::string Out1 = In.substr(0, p1); std::string Out2 = In.substr(p1 + 1, p2 - p1 - 1); std::string Out3 = In.substr(p2 + 1); std::cout << Out1 << "|" << Out2 << "|" << Out3 << std::endl; }
07. februar 2006 - 14:40
#5
arne, hvordan får jeg så programmet til at skrive disse brudstykker ind i nogle variabler??
07. februar 2006 - 14:46
#6
Jeg har nu et stykke kode der ser således ud: void ArgumentHandling(int argc, char *argv[1]) { char argstring[300] = "", *p; if(argc > 1) { int i; for (i = 1; i < argc; i++) { strcat(argstring, argv[i]); } } argstring, sizeof(argstring), stdin; argstring[strlen(argstring)-1] = '\0'; p = strtok(argstring, ","); printf("%s\n" ,p); while((p = strtok(NULL, ","))!=NULL) { printf("%s\n",p); } getch(); } argstring består af de argumenter programmet bliver kaldt med - sti,filtype,excludeliste - eksempel: c:\hej\,dll,excludes.txt, De tre ovenstående værdier skal så ligges ind i følgende tre variabler: WhereToSearch, WhatToSearchFor og ExcludeList. På forhånd tak! :) Jon
07. februar 2006 - 15:20
#7
strcpy
08. februar 2006 - 10:08
#8
:) Så langt havde jeg tænkt... Men mere hvordan, rent praktisk... I en for-løkke eller...?
08. februar 2006 - 10:09
#9
Koden ser nu således ud: void ArgumentHandling(int argc, char *argv[]) { char argstring[300] = "", *token, seperator[] = ",;"; if(argc > 1) { int i; for (i = 1; i < argc; i++) { strcat(argstring, argv[i]); } } token = strtok(argstring, seperator); while(token != NULL) { printf("%s\n", token); token = strtok(NULL, seperator); } getch(); }
08. februar 2006 - 12:22
#10
Jeg fixede det med switch og case inde i while-løkken.
08. februar 2006 - 14:36
#11
hvis du skal returnere noget fra den funktion skal du bruge strcpy
22. april 2006 - 23:24
#12
tid at få afsluttet her ?
Kurser inden for grundlæggende programmering