---
title: "string"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/64914-string"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Nexus86"
published: "2003-01-15T00:33:02.000Z"
updated: "2003-01-15T17:49:15.000Z"
replies: 20
views: 442
page: 1
pages: 2
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/64914-string"
---

# string

_Sida 1 av 2._

## #1 — Nexus86, 2003-01-15T00:33Z

Jag får ett konstigt kompileringsfel i C++. Jag har #include \<string.h\> men ändå när jag försöker använda

```
string lcase(string &str);
```

 högst upp i filen till en funktion jag har gjort så får jag dessa fel:

> **C++ kompilatorn skrev:**
>
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(23) : error C2146: syntax error : missing ';' before identifier 'lcase'
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(23) : error C2501: 'string' : missing storage-class or type specifiers
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(23) : fatal error C1004: unexpected end of file found

Vad är fel?

EDIT // Så vissa inte tror att jag är dum kan jag tillägga att jag har skrivit #include \<string.h\> över denna rad. :)

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

## #2 — Marcus E, 2003-01-15T00:54Z

Du vill använda STL-klassen string? Prova

```
#include <string>
using namespace std; [i]eller[/i]
using std::string; [i]eller[/i]
std::string istället för string
```

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

## #3 — Nexus86, 2003-01-15T15:12Z

Okej.. Tack!

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

## #4 — Nexus86, 2003-01-15T15:19Z

Resultat:

Vid "using namespace std;":

> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(5) : error C2871: 'std' : does not exist or is not a namespace
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(24) : error C2146: syntax error : missing ';' before identifier 'lcase'
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(24) : error C2501: 'string' : missing storage-class or type specifiers

Vid "using string;":

> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(5) : error C2873: 'string' : symbol cannot be used in a using-declaration
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(24) : error C2146: syntax error : missing ';' before identifier 'lcase'
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(24) : error C2501: 'string' : missing storage-class or type specifiers

Vid "std::string":

> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(23) : error C2653: 'std' : is not a class or namespace name
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(23) : error C2146: syntax error : missing ';' before identifier 'lcase'
> C:\\Program\\Microsoft Visual Studio\\MyProjects\\Apache\\main.cpp(23) : error C2501: 'string' : missing storage-class or type specifiers

Något mera? Alla mina includes är:

```
#include <stdlib.h>
#include <windows.h>
#include <tlhelp32.h>
#include <string.h>
```

Saknas någon?

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

## #5 — Phorpher, 2003-01-15T15:40Z

Byt #include \<string.h\> till: #include \<string\>

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

## #6 — Nexus86, 2003-01-15T15:42Z

Då övergick det ifrån 4 errors och 0 warnings till 13 errors och 2 warnings.. :e

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

## #7 — Nexus86, 2003-01-15T15:43Z

Sen nu nere i 3 errors och 0 warnings.. hade ett annat fel.. :)

Men det är fortfarande samma fel. :l

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

## #8 — Phorpher, 2003-01-15T15:54Z

Hm.. Du får gärna ge lite mer kod...

En känsla... Testa att lägga till #include \<iostream\>

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

## #9 — Nexus86, 2003-01-15T16:02Z

> **Phorpher skrev:**
>
> Hm.. Du får gärna ge lite mer kod...
> 
> En känsla... Testa att lägga till #include \<iostream\>

Har provat med det men det hjälpte inte. Kan lägga upp hela cpp-filen. Det ska bli ett litet men bra program till mej själv som gör så att jag kan styra Apache från SysTrayen istället för att behöva ha det ligga nere i TaskBaren hela tiden.

Bilagor:

- [main.rar](https://www.webforum.nu/a/926.rar)

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

## #10 — Phorpher, 2003-01-15T16:23Z

Nu har du #include \<iostream.h\>
Byt till #include \<iostream\>

iostream.h innehåller äldre libs och kan därför ge såna fel..

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

## #11 — Nexus86, 2003-01-15T16:39Z

Har alltid trott att det är samma. :)
Men det fungerar fortfarande inte. :l Blir tokig snart.

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

## #12 — Pellefant, 2003-01-15T16:45Z

Hm..jag kom och tänka på något helt annat när jag såg rubriken, och tryckte mig in hit direkt, vilken besvikelse... :)

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

## #13 — Nexus86, 2003-01-15T16:46Z

Okej Pellefant. :) Vad var det du hoppades hitta då?

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

## #14 — Phorpher, 2003-01-15T16:56Z

> **Pellefant skrev:**
>
> Hm..jag kom och tänka på något helt annat när jag såg rubriken, och tryckte mig in hit direkt, vilken besvikelse... :)

Jag föredrar också den sortens string!  :birp 

**Nexus86** 

Vad får du för felmeddelanden då?

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

## #15 — Nexus86, 2003-01-15T17:01Z

> **Phorpher skrev:**
>
> > **Pellefant skrev:**
> >
> > Hm..jag kom och tänka på något helt annat när jag såg rubriken, och tryckte mig in hit direkt, vilken besvikelse... :)
>
> 
> 
> Jag föredrar också den sortens string!  :birp 
> 
> **Nexus86** 
> 
> Vad får du för felmeddelanden då?

Samma fortfarande. :l

Tänkte inte riktigt på stringgrejen. Tänkte att han måste ha sett att det stog i C++.. :e

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

## #16 — Phorpher, 2003-01-15T17:09Z

Men nu när jag tittar på din kod igen så ser jag inte att du använder varken using namespace std eller std::string vid deklarationer.

Lägg using namespace std;  Alldeles under alla dina #defines.

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

## #17 — Nexus86, 2003-01-15T17:26Z

Men jag provade med det och då fungerade det inte men nu gör det det. Tack! :)

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

## #18 — Phorpher, 2003-01-15T17:27Z

> **Nexus86 skrev:**
>
> Men jag provade med det och då fungerade det inte men nu gör det det. Tack! :)

Det beror på att du hade inkluderat "iostream.h" istället för "iostream".

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

## #19 — Nexus86, 2003-01-15T17:28Z

Men en sak till, hur gör jag för att göra om en text från string till LPCTSTR? Det går inte med (LPCTSTR)Text.

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

## #20 — Phorpher, 2003-01-15T17:46Z

En LPCTSTR är en C-sträng (char \*)

En string har en bunt metoder. Metoden c_str() returnerar en pekare till en C-sträng.

Dvs. Om funktionen foo har en LPCTSTR som inargument så borde det här fungera:

```
...

string bar;

foo(bar.c_str());

...
```

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

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/64914-string  
Nästa sida: https://www.webforum.nu/amne/c-cpp/64914-string/page2.md
