Avatar billede zyxtem Nybegynder
22. august 2003 - 21:07 Der er 7 kommentarer og
1 løsning

Forskel på string og char[]

Hey

  Jeg er stødt på disse 2 forskellige måder at lave teksstrenge på:
    string streng ="Hej med dig";
    char array[]="Hej med dig";

men jeg kunne ikke finde nogen steder hvor forskellen/fordelene ved dem var beskrevet, så nu er mit spørgsmål ganske enkelt. Hvad er forskellene på de 2 og hvornår skal jeg bruge hvad?
Avatar billede arne_v Ekspert
22. august 2003 - 21:11 #1
Det første er en STL string d.v.s. det er et C++ objekt.

Det andet er et array af char (altså array af en simpel
datatype) som virker både i C og C++.
Avatar billede zyxtem Nybegynder
22. august 2003 - 21:19 #2
Hvor skal jeg så bruge hvad...... og er der en måde hvorpå jeg kan køre strings igennem med loops ligesom med arrays?
Avatar billede zyxtem Nybegynder
22. august 2003 - 21:19 #3
eks. for(int i=0; array[i]!=NULL; i++)
Avatar billede arne_v Ekspert
22. august 2003 - 21:32 #4
Eksempel:

#include <cstring>

#include <iostream>
#include <string>

using namespace std;

int main()
{
  char s1[] = "abc";
  for(int i=0;i<strlen(s1);i++)
  {
      cout << s1[i];
  }
  cout << endl;
  string s2 = "abc";
  for(int i=0;i<s2.length();i++)
  {
      cout << s2[i];
  }
  cout << endl;
  return 0;
}
Avatar billede squashguy Nybegynder
22. august 2003 - 21:32 #5
du kan køre begge igennem på denne måde

for(i=0; array[i]; i++);
Avatar billede arne_v Ekspert
22. august 2003 - 21:34 #6
Hvis du programmerer i C++ (bruger klasser o.s.v.) og det er noget
der kun skal bruges i din kode, så er STL string nok det bedste valg.

Hvis du programmer i C så er du nødt til at bruge char array.

Hvis du så kalde en masse eksterne funktioner som bruger array kan
det være hensigtsmæssigt at bruge char array i C++ også.
Avatar billede zyxtem Nybegynder
22. august 2003 - 21:34 #7
men hvor(når) skal jeg så bruge hvad?
Avatar billede zyxtem Nybegynder
22. august 2003 - 21:37 #8
så dig ikke lige arne v
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester