Slettet bruger
04. december 2005 - 15:27
Der er
32 kommentarer og 2 løsninger
Enkelt spørgsmål om strings
Hej eksperter! Hvordan kan vælge en bestemt del af en streng? F.eks. få returneret indholdet fra femte til 10. bogstav? Hvordan kan man desuden finde ud af hvilken plads et bestemt tegn står på? F.eks. få returneret indekset af først forekomne 'q'? Kan overstående metoder kombineres...?
Annonceindlæg fra Deloitte
Slettet bruger
04. december 2005 - 15:28
#1
Det var tre hurtige spørgsmål... På forhånd tak for hjælpen!
04. december 2005 - 15:40
#2
Til det første kunne du bruge dette: #include <stdio.h> #include <string.h> int main() { char line[] = "abcdefghijklmn"; int i = 5; printf("%c", line[10]); return 0; } og til det andet kunne du bruge: #include <stdio.h> #include <string.h> int main() { char line[] = "abcdefghijqlmn"; int i = 0; while(line[i] != '\0') { if(line[i] == 'q') { printf("forst forekomne %c ligger på plads nr %d", line[10], i); i++; } else i++; } getchar(); return 0; }
04. december 2005 - 15:41
#3
hov: printf("forst forekomne %c ligger på plads nr %d", line[10], i); skal være: printf("forst forekomne %c ligger på plads nr %d", line[i], i);
04. december 2005 - 16:46
#4
C++ STL std string eller C/C++ nul termineret char array ?
Slettet bruger
04. december 2005 - 16:48
#5
Hvad betyder %c og %d? Hvad betyder \0? Er printf det samme som cout?
Slettet bruger
04. december 2005 - 16:49
#6
C++ STL std string eller C/C++ nul termineret char array ? er russisk for mig... HVAD MENER DU?!
Slettet bruger
04. december 2005 - 16:52
#7
Der findes ikke en indbygget funktion? Noget i denne stil: #include <stdio.h> #include <string.h> int main { char line[] = "abcdefghijklmnopqrstuvwxyz"; cout << line[].substr(4, 9); cin.get(); }
Slettet bruger
04. december 2005 - 16:53
#8
*int main()
04. december 2005 - 16:53
#9
bruger du string s; eller char s[100]; ?
Slettet bruger
04. december 2005 - 16:57
#10
Hvad betyder char s[100]; ?
Slettet bruger
04. december 2005 - 16:58
#11
At s højst kan være 100 tegn lang?
04. december 2005 - 17:00
#12
det første en en STL streng det andet er en nul termereret char array med maksimalt 99 bogstaver
04. december 2005 - 17:20
#13
Hvad betyder %c og %d? > det hører til funktionen printf og %c betyder at her skal et char stå og %d betyder at her skal et tal stå. Fx: int a = 5; printf("%d", a); udskriver a eller 5. Hvad betyder \0? En streng er en række (array) af chars (tegn). Det sidste tegn i en streng er '\0'. Er printf det samme som cout? Ja...lidt. printf er C cout er C++
04. december 2005 - 17:22
#14
du kunne have brugt cout sådan: cout << "forst forekomne " << line[i] << " ligger paa plads nr " << i;
Slettet bruger
05. december 2005 - 16:12
#15
Ok... Hvordan ser følgende så ud med cout? #include <stdio.h> #include <string.h> int main() { char line[] = "abcdefghijklmn"; int i = 5; printf("%c", line[10]); return 0; }
05. december 2005 - 20:21
#16
#include <stdio.h> #include <iostream> // skal inkluderes ved brug at cout #include <string.h> int main() { char line[] = "abcdefghijklmn"; int i = 5; cout << line[10] << endl; // let ikke ? :P return 0; }
Slettet bruger
06. december 2005 - 14:55
#17
#include <stdio.h> #include <iostream> // skal inkluderes ved brug at cout #include <string.h> int main() { char line[] = "abcdefghijklmn"; int i = 5; cout << line[10] << endl; // let ikke ? :P return 0; } > Hvor forekommer i?! Hvordan ved den, at den skal starte ved i? Den sætter jo bare en variabel!
06. december 2005 - 15:33
#18
i gør ikke noget i den kode
Slettet bruger
06. december 2005 - 18:04
#19
Nej, vel?!
Slettet bruger
06. december 2005 - 18:05
#20
Den virker faktisk slet ikke... Kommer med fejlmeddelelse!
06. december 2005 - 18:27
#21
C:\>type zzz.cpp #include <iostream> using namespace std; int main() { char line[] = "abcdefghijklmn"; cout << line[10] << endl; return 0; } C:\>g++ zzz.cpp -o zzz.exe C:\>zzz k
06. december 2005 - 18:28
#22
jeg tror at det er using namespace std; som gør forskellen
06. december 2005 - 18:29
#23
C:\>type zzz.cpp #include <iostream> using namespace std; int main() { char line[] = "abcdefghijklmn"; cout << line[10] << endl; return 0; } C:\>g++ zzz.cpp -o zzz.exe C:\>zzz k
Slettet bruger
08. december 2005 - 14:13
#24
Hvad betyder alle de C:\>'er?
Slettet bruger
08. december 2005 - 14:14
#25
Hvad bliver desuden den eksagte kode hvis jeg skal have fra 2. tegn og så resten af strengen 'cmnd'?
08. december 2005 - 14:30
#26
det er copy paste fra et DOS vindue C:\> er prompten den eksakte kode vises med TYPE
08. december 2005 - 15:31
#27
Hvis du skal have fra 2. tegn: #include <iostream> using namespace std; int main() { int i = 1; char line[] = "abcdefghijklmn"; while(line[i] != '\0') { cout << line[i] << endl; i++; } return 0; }
Slettet bruger
08. december 2005 - 18:01
#28
Jeg kan ikke få scriptet til at stoppe bagefter!?
Slettet bruger
08. december 2005 - 18:05
#29
Hverken med cin.get();, system("pause"); eller cin >> enellerandenligegyldigstring;
Slettet bruger
09. december 2005 - 16:15
#30
Skal jeg include noget...? Prøver lige...
09. december 2005 - 18:32
#31
getchar(); kan du stoppe med !
Slettet bruger
09. december 2005 - 21:49
#32
Jeg prøver - i morgen. Jeg lukker ned nu...
Slettet bruger
10. december 2005 - 07:46
#33
Nåå... Det var fordi jeg havde 'return 0' med... Her er den endelige kode: #include "stdafx.h" #include <iostream> using namespace std; int main() { int i = 1; char line[] = "abcdefghijklmn"; cout << "From char 2 of line (var): '"; while(line[i] != '\0') { cout << line[i]; i++; } cout << "'."; cin.get(); }
10. december 2005 - 21:01
#34
return 0; bør ikke ødelægge noget (forudsat at den er sidst)
Kurser inden for grundlæggende programmering