Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

11

18.10.2007, 17:02

Bitte nochmal anders formuliere :)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

12

18.10.2007, 17:16

öhm ? wie konvertiere ich eine string in einen einen LPCTSTR String ? hä wie meinste das jetzt xD

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

13

18.10.2007, 17:38

Übergib einfach mal die Variable Buffer (also wenn char Buffer[200]). Das sollte eigentlich gehen.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

14

18.10.2007, 17:42

Will abba mit Developers ansatz

C-/C++-Quelltext

1
2
3
4
std::ifstream file_stream("config.dat");
if (!file_stream) return false;
std::string line;
while (std::getline(file_stream, line)) std::cout << line << std::endl;

15

18.10.2007, 17:45

Ehm naja das Problem ist halt, dass LPCTSTR für const TCHAR* steht ... TCHAR bei UNICODE für wchar_t und sonnst für char. std::string ist ja als std::basic_string<char> definiert. Also würde es, wenn du ein UNICODE-Projekt hast, Probleme geben. Hab es deswegen iwann einfach mal in ne Struct gepackt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//! struct-template for charset independent string operation

/*! The basic_char_types-structure template is used for charset independent source code */
template <typename T> 
struct basic_char_types 
{
    typedef T                                       character;      //!< charset char-type

    typedef std::basic_string<T>                    string;         //!< char-type specification of std::basic_string

    typedef std::basic_ostream<T, std::char_traits<T> > ostream;    //!< char-type specification of std::basic_ostream

    typedef std::basic_istream<T>                   istream;        //!< char-type specification of std::basic_istream

    typedef std::basic_ofstream<T>                  ofstream;       //!< char-type specification of std::basic_ofstream

    typedef std::basic_ifstream<T>                  ifstream;       //!< char-type specification of std::basic_ifstream

    typedef std::basic_ostringstream<T>             ostringstream;  //!< char-type specification of std::basic_ostringstream

    typedef std::basic_istringstream<T>             istringstream;  //!< char-type specification of std::basic_istringstream

    typedef std::basic_stringstream<T>              stringstream;   //!< char-type specification of std::basic_stringstream

    typedef std::vector< std::basic_string<T> >     string_array;   //!< dynamic array of std::basic_string's specificated of char-type

};
#if _UNICODE
    typedef basic_char_types<wchar_t>   char_types;     //!< typedef of basic_char_types depended of selected/defined charset

    #define cout std::wcout
#else // !_UNICODE

    typedef basic_char_types<char>      char_types;     //!< typedef of basic_char_types depended of selected/defined charset

    #define cout std::cout
#endif // !_UNICODE

};
... das nutzt du jetzt einfach so:

C-/C++-Quelltext

1
2
3
4
char_types::ifstream file_stream("config.dat");
if (!file_stream) { std::cerr << "FEHLER: Datei konnte nicht geöffnet werden!" << std::endl; return 1; }
char_types::string line;
while (std::getline(file_stream, line)) { cout << line << std::endl; }
wobei cout jetzt eigentlich auch mit in die struct kann ... hab es gerade nur vergessen gehabt :P
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

16

18.10.2007, 17:51

kann ich dann einfach


LPCTSTR httpFile

httpFIle=line ?

17

18.10.2007, 18:29

Dann kannst du einfach LPCTSTR lpszHttpFile = line.c_str(); machen, jap :P
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

18

19.10.2007, 14:14

Jetzt hab ich aufeinma ein seltsames Problem

Ich hab ein bisschen mit
seekg(1, ios_base::beg);

rum gespielt und aufeinmal will er bei sowas nichts mehr einlesen :

C-/C++-Quelltext

1
2
3
4
5
6
7
std::ifstream file_stream("config.dat");
    if (!file_stream)
        return false;
    std::string line;
    while (std::getline(file_stream, line));
    cout <<line;
  


hab den Positionszeiger vorher mal auf 2 oder 3 gesetzt und dann auf einma ging allles net mehr dann hab ich alles entfernt und rebuilt gemacht und jetzt liest er auf einma nicht ma mehr was ein. ALso das Problem liegt beim einlesen er macht return false abba warum aufeinmal ?

EDIT ; Ich versteh die welt nicht mehr

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

19

19.10.2007, 14:55

Zitat von »"Toa"«

C-/C++-Quelltext

1
2
3
4
5
6
7
std::ifstream file_stream("config.dat");
    if (!file_stream)
        return false;
    std::string line;
    while (std::getline(file_stream, line));
    cout <<line;
  


wenn er return false macht, dann findet er vermutlich die datei nicht.

btw: ich glaub das ; hinter der while schleife is net unbedingt beabsichtigt!?
und warum machst du einmal std::string und dann wieder cout ohne std:: !?

Toa

Alter Hase

  • »Toa« ist der Autor dieses Themas

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

20

19.10.2007, 19:09

Mh..wenn ich das Symekonlon wegmache ungefähr so :

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ifstream file_stream("config.dat");
    if (!file_stream)
    return false;
    std::string line;
    while (getline(file_stream, line))

    LPCTSTR httpFile = line.c_str();


    HINTERNET hInet = InternetOpen(_T("MyAppName"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    if(hInet != NULL)
    {
      
        HINTERNET hRemoteFile = InternetOpenUrl(hInet, httpFile, NULL, 0, INTERNET_FLAG_RELOAD, 0);


Dann mekkert er bei

C-/C++-Quelltext

1
HINTERNET hRemoteFile = InternetOpenUrl(hInet, httpFile, NULL, 0, INTERNET_FLAG_RELOAD, 0);


Folgendes :

Quellcode

1
httpFile undeclared 

Werbeanzeige