CComVariant / Stringmanipulation
-
Hallo ich hab mal eine Frage. Wie ist es möglich eine CComVariant Variable zusammenzusetzen. Ich müßte ein Textfile auslesen und den Inhalt in eine die Variable Schreiben. Genau das selbe müßte ich dann anschliessend mit einer CHAR Variablen tun. Habs mit strcat probiert, hat aber nur zu Fehler geführt.
CComVariant postData("-----------------------------7d72e02c1a0070\r\n" "Content-Disposition: form-data; name=\"file\"; filename=\"TESTFILE.TXT\"\r\n" "Content-Type: application/octet-stream\r\n\r\n" //FILE- HIER MÜSSTE DER INHALT DES TEXTFILES HIN!!!!! "\r\n\r\n" "-----------------------------7d72e02c1a0070\r\n" "Content-Disposition: form-data; name=\"submit\"\r\n\r\n" "Upload\r\n" "-----------------------------7d72e02c1a0070--\";");Wäre Klasse wenn Ihr helfen könntet. Danke!
Gruß
KMB
-
Ist die Frage unverständlich formuliert oder versteht man was ich meine?
Gruß
KMB
-
Ich würde mal sagen, wenn man dein Problem verstehen könnte, kämen bereits Antworten

Das Problem ist - soweit ich das sehe - wohl nicht die Variant, sondern die Bereitstellung der nötigen Parameter. Und da würde ich einen CString nehmen, stückweise den Dateiinhalt dort reinlesen und ihn schließlich an dein Variant übergeben. (alternativ kannst du auch ein ausreichend großes char-Array (groß genug für den kompletten Dateiinhalt plus Header und Footer) anlegen und per fread() befüllen)
-
OK, erstmal danke für die Antwort. Aber wie bekomme ich denn nun den Inhalt vom CString in die CComvariant VAR?
Gruß
KMB
-
So ähnlich vielleicht:
CStringA tempalte = "-----------------------------7d72e02c1a0070\r\n" "Content-Disposition: form-data; name=\"file\"; filename=\"TESTFILE.TXT\"\r\n" "Content-Type: application/octet-stream\r\n\r\n" "$text$" "\r\n\r\n" "-----------------------------7d72e02c1a0070\r\n" "Content-Disposition: form-data; name=\"submit\"\r\n\r\n" "Upload\r\n" "-----------------------------7d72e02c1a0070--\";"; CStringA textFileContents = ...; CStringA message = tempalte; message.Replace("$text$", textFileContents); CComVariant cv(static_cast<char const*>(message));
-
Sieht erstmal ziemlich gut aus. danke hustbaer. ich werd das mal ausprobieren.
gruß
kmb
-
Hab dabei leider noch ein kleines Problem. Weiss nicht genau woran das liegen kann. Wenn ich versuche <string> zu includen, dann bekomme ich folgende Fehlermeldungen (sind ziemlich viele scheint aber immer dasselbe Problem zu sein mit dem Namespace):
Error 1 error C2870: 'std' : a namespace definition must appear either at file scope or immediately within another namespace definition c:\programme\microsoft visual studio 8\vc\include\yvals.h 480
Woran könnte das liegen?
Gruß
kmb
-
Letzte NAchricht bitte ignorieren, hab mein Fehler gefunden. include war innerhalb der Klasse.

-
Hat super geklappt Hustbaer. Vielen vielen Dank!!!
Gruß
kmb