/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
String data typen?
Fra : Mads Jensen


Dato : 27-10-02 15:45

Hej

Jeg er ny i c++, og har kigget lidt på www.cppreference.com, hvor et
eksempel deklarere strenge sådan her:

string first ("indholdet");

#include <iostream>
#include <stdlib.h>
#include <stdio.h>

using namespace std;
using std::string;

int main(int argc, char *argv[])
{

string test ("dette er en test streng!");
cout << test.length();

return 0;
}

Men her i koden melder Bloodshed fejl (GCC version ????):

11 C:\Program Files\devcpp\projekts\test\main.cpp
`string' undeclared (first use this function)

11 C:\Program Files\devcpp\projekts\test\main.cpp
parse error before `('

12 C:\Program Files\devcpp\projekts\test\main.cpp
`test' undeclared (first use this function)

mvh
Mads Jensen



 
 
Bertel Lund Hansen (27-10-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 27-10-02 16:15

Mads Jensen skrev:

>Jeg er ny i c++, og har kigget lidt på www.cppreference.com, hvor et
>eksempel deklarere strenge sådan her:

>string first ("indholdet");

Den linje hænger et forkert sted.

>#include <iostream>
>#include <stdlib.h>
>#include <stdio.h>

>using namespace std;
>using std::string;

Her er en dobbelt erklæring af string. Linjen lige ovenover
erklærer *alt* fra std-modulet.

>int main(int argc, char *argv[])
>{
>
> string test ("dette er en test streng!");
> cout << test.length();
>
> return 0;
>}

Resten er uden egentlige fejl, men en god compiler advarer om at
argc og argv ikke benyttes.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Byrial Jensen (27-10-2002)
Kommentar
Fra : Byrial Jensen


Dato : 27-10-02 20:46

Bertel Lund Hansen <nospam@lundhansen.dk> skrev:
> Mads Jensen skrev:
>
>>#include <iostream>
>>#include <stdlib.h>
>>#include <stdio.h>
>
>>using namespace std;
>>using std::string;
>
> Her er en dobbelt erklæring af string. Linjen lige ovenover
> erklærer *alt* fra std-modulet.

Det er en dobbelt erklæring af at "std::string" blot kan kaldes
"string", men "std::string" i sig selv mangler at blive erklæret.
Der skal være en linje med:

#include <string>

Til gengæld er inkluderingerne af <stdlib.h> og <stdio.h> begge
overflødige i dette program.

--
Skal musik- og edb-industrien have ret til fratage forbrugerne deres
rettigheder i henhold til Ophavsretloven, begrænse konkurrencen og
fremme monopoldannelse ved hjælp af tekniske midler? Sig nej! Nu!
Støt underskriftsindsamlingen på http://www.digitalforbruger.dk

Mads Jensen (27-10-2002)
Kommentar
Fra : Mads Jensen


Dato : 27-10-02 21:23

Hej

> Den linje hænger et forkert sted.
???

Jeg har prøvet med dette:

#include <iostream>
#include <stdlib.h>
#include <string>

using namespace std;

int main()
{
string test ("dette er en test);
cout << test.length();

return 0;
}

Men det virker stadigvæk ikke

/Mads



Byrial Jensen (27-10-2002)
Kommentar
Fra : Byrial Jensen


Dato : 27-10-02 21:41

Mads Jensen <astrup_jensen.NOSPAM@hotmail.com> skrev:
> Jeg har prøvet med dette:
>
> #include <iostream>
> #include <stdlib.h>
> #include <string>
>
> using namespace std;
>
> int main()
> {
> string test ("dette er en test);
> cout << test.length();
>
> return 0;
> }
>
> Men det virker stadigvæk ikke

Prøv at sætte et anførselstegn til at afslutte strengen
"dette er en test". Så burde det virke.

--
Skal musik- og edb-industrien have ret til fratage forbrugerne deres
rettigheder i henhold til Ophavsretloven, begrænse konkurrencen og
fremme monopoldannelse ved hjælp af tekniske midler? Sig nej! Nu!
Støt underskriftsindsamlingen på http://www.digitalforbruger.dk

Michael Bülow Jensen (27-10-2002)
Kommentar
Fra : Michael Bülow Jensen


Dato : 27-10-02 20:22

"Mads Jensen" <astrup_jensen.NOSPAM@hotmail.com> wrote in message
news:apgu5g$3oj$1@sunsite.dk...
> string first ("indholdet");
>
> #include <iostream>
> #include <stdlib.h>
> #include <stdio.h>
>
> using namespace std;
> using std::string;
>
> int main(int argc, char *argv[])
> {
>
> string test ("dette er en test streng!");
> cout << test.length();
>
> return 0;
> }

Den eneste egentlige fejl er at du skal huske at #include <string>

Derudover er der ikke nogen grund til at bruge:
#include <stdlib.h>
#include <stdio.h>
using namespace std;
(De tre ting er selvfølgelig bare fordi eksemplet er så simpelt... Du får
sikkert brug for dem på et tidspunkt ;))



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste