# StringList in Visual C++



## Kaiser206 (27. Oktober 2005)

Hallo,
ich habe da eina Frage. Ich will in Visual C++ eine StringListe erzeugen und mache das so:

TStringList *Liste;
Liste = new TStringList;

nun wird aber TStringList als unbekannt unterstrichen. Muss noch eine besondere *.h oder *.lib eingebunden werden damit es funktioniert?


----------



## MCoder (27. Oktober 2005)

Eine Klasse "TStringList" (gibt's das bei Borland?) hat die MFC nicht. Schaue dir stattdessen mal die Klasse "CStringArray" an. Ansonsten könntest du auch mit der STL arbeiten.


----------



## jokey2 (27. Oktober 2005)

Es gibt auch ein CStringList, die vom CList Template abgeleitet ist.


----------



## Kaiser206 (28. Oktober 2005)

Tja jetzt weiß ich zwar wie es geht aber noch ne Frage:
Welche *.h oder *.lib muss ich einbinden damit CStringList oder CStringArray funktionieren?


----------



## fhr (28. Oktober 2005)

#include <afxcoll.h>

gruß
fhr


----------



## Kaiser206 (28. Oktober 2005)

Wie ladet man eigendlich eine Datei in ein CStringList?


----------



## MCoder (28. Oktober 2005)

```
CStringList stringList;
CStdioFile  file;

if( file.Open(_T("C:\\foo.txt"), CFile::modeRead) )
{
    CString str;

    while( file.ReadString(str) )
    {
        stringList.AddTail(str);
    }  
    
    file.Close();     
}
```


----------



## Kaiser206 (28. Oktober 2005)

Wenn ich versuche das nach dem compilieren zu linken kommen sehr viele Fehler in der nafxcw.lib gemeldet... 


Was ist eigendlich für CStdioFile verantwortlich? Mus man da noch was einbinden?

Was ist eigendlich an diesem Programm falsch?Was muss eingebunden werden?
Main()
{  
  CStdioFile  file;
  return 0;
}


----------



## MCoder (28. Oktober 2005)

Was für einen Typ von Anwendung  hast du erzeugt? Um CStringList und CStdioFile zu benutzen, benötigst du ein Projekt mit MFC-Unterstützung. Eine entsprechende Option kann beim Projektassiastenten ausgewählt werden.


----------



## Kaiser206 (28. Oktober 2005)

Also ich versuche eine Anwendung ohne Microsoft Studio zu machen. Das heißt ich habe nur alle Bibliotheken den Compiler und den Linker. In C++ Biulder war das ja ganz einfach möglich bei Microsoft eigendlich auch wenn man das richtige einbindet.

Was muss man eigendlich einbinden damit der Befehl CStringList funktioniert?


----------



## Kaiser206 (28. Oktober 2005)

Also ich mache das so:

test.cpp

#include <afxcoll.h>
main()
{
 CStdioFile  file;
}

Ich compiliere es mit:
cl test.cpp

jetzt habe ich in nem Buch gelesen das man jetzt irgendetwas hinfügen soll eine *.h oder eine *.lib damit CStdioFile erkant wird. Weiß vielleicht jemand welche das sind?


----------



## MCoder (28. Oktober 2005)

Zumindest brauchst du noch folgende Includes:

```
#include <afxwin.h>  
#include <afxext.h>
```



			
				Kaiser206 hat gesagt.:
			
		

> Also ich versuche eine Anwendung ohne Microsoft Studio zu machen.


Bedeutet das, dass du den Code mit Notepad editierst und den Compiler auf der Kommandozeile startest?


----------



## Kaiser206 (31. Oktober 2005)

Genau das machen ich...

Wenn ich die beiden includes mache reicht das immer noch nicht... es kommen trotzdem fehler beim linken


----------



## MCoder (2. November 2005)

Ich habe mal eine eine einfache Konsolenanwendung mit MFC-Unterstützung erstellt und dazu noch das Makefile exportiert. Vielleicht hilft dir das weiter.


----------

