---
title: "Strängar i C++"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/41961-strängar-i-c"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "zmodem"
published: "2002-04-18T12:50:21.000Z"
updated: "2002-04-18T14:27:23.000Z"
replies: 2
views: 418
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/41961-strängar-i-c"
---

# Strängar i C++

## #1 — zmodem, 2002-04-18T12:50Z

Jag är väldigt nybörjare på C++ och får inte det där med strängar att funka... har läst en tråd om det innan här också men den hjälpte inte mig...

Har en bok där följande exempel visas:

> \#include \<iostream.h\>
> \#include \<string\>
> 
> main ()
> {
>    string s1 = "Hello world!";
>    cout \<\< s1 \<\< endl;
> }

Jag stoppar in koden i MS Visual C++ och får följande meddelande:

> C:\\projekt\\cpp\\string\\string.cpp(10) : error C2065: 'string' : undeclared identifier
> C:\\projekt\\cpp\\string\\string.cpp(10) : error C2146: syntax error : missing ';' before identifier 's1'
> C:\\projekt\\cpp\\string\\string.cpp(10) : error C2065: 's1' : undeclared identifier
> C:\\projekt\\cpp\\string\\string.cpp(10) : error C2440: '=' : cannot convert from 'char \[13\]' to 'int'
>         This conversion requires a reinterpret_cast, a C-style cast or function-style cast

vad gör jag för fel? Har fått ungefär samma fel när jag körde koden i en gammal Borland Turbo C++ och den brukar inte vara lika gnällig som Microsofts...

Permalänk: https://www.webforum.nu/p/41961

## #2 — Beatbox, 2002-04-18T13:15Z

Antingen :

```
#include <iostream.h> 
#include <string> 
using namespace std;

main () 
{ 
string s1 = "Hello world!"; 
cout << s1 << endl; 
}
```

eller....

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

main () 
{ 
std::string s1 = "Hello world!"; 
cout << s1 << endl; 
}
```

Permalänk: https://www.webforum.nu/p/648701

## #3 — Swey, 2002-04-18T14:27Z

std

Ersätt #include \<iostream.h\> med #include \<iostream\>. Den förstnämnda är inte standard. Endast C använder .h som filnamnstillägg för header-filer.

string-klassen finns i namnutrymmet std. Om du dessutom använder cstdlib istället för stdlib.h ska (om den följer standard) alla funktioner hamna i namnutrymmet std.

Fördelen med att ha alla standard-funktioner/klasser i std är att du kan skapa funktioner och klasser med samma namn, utan att det blir namnkollision. 

Du kommer åt en funktion/klass genom att ange std:: före funktionen/klassen. Vill du inte skriva std kan du importera allting med hjälp av "using namespace std;" eller enstaka funktioner/klasser med "using \<funktion eller klass\>;". I regel ska man undvika "using namespace".

Permalänk: https://www.webforum.nu/p/648775

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/41961-strängar-i-c
