Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 06:31

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[HELP] C++ ASCII Konvertierung

Discussion on [HELP] C++ ASCII Konvertierung within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2013
Posts: 11
Received Thanks: 0
[HELP] C++ ASCII Konvertierung

Hallo!

Ich möchte bzw. muss an eine Funktion (findwindow()) einen String übergeben. Dieser enthält jedoch ein 'ä' und 'ä' steht ja bekanntlich nicht in der ASCII Tabelle. Wie also kann ich das ä mit der Funktion kompatibel machen.

Meine Funktion: FindWindow(NULL, "Solitär"). Ich habe schon alles Mögliche versucht. Auch wenn ich versuche das 'ä' in einen Char zu schreiben, spuckt mir der Compiler einen Fehler aus. Ich benutze den MinGW G++ der aktuellen Version.

Code:
char ae = 'ä'

Fehler: Zeichenkontante mit mehreren Zeichen [multichar]
Fehler: Überlauf in impliziter Konstantenkonvertierung [overflow]
Mit der Lösung des Problems würde ich euch sehr dankbar sein!^^
H4rtzer is offline  
Old 04/07/2013, 00:11   #2
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
FindWindowW(L"Solitär");
Dr. Coxxy is offline  
Old 04/07/2013, 00:57   #3
 
elite*gold: 0
Join Date: Mar 2013
Posts: 11
Received Thanks: 0
Habe ich schon versucht, funktioniert allerdings nicht!

Fehler: Das Argument vom Typ ""const char *"" ist mit dem Parameter vom Typ ""LPCWSTR"" inkompatibel.
H4rtzer is offline  
Old 04/07/2013, 00:58   #4
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
was hältst du davon mal meinen code abzutippen?
Dr. Coxxy is offline  
Old 04/07/2013, 01:28   #5
 
marykillsjane's Avatar
 
elite*gold: 0
Join Date: Sep 2010
Posts: 1,909
Received Thanks: 522
Quote:
Originally Posted by H4rtzer View Post
Habe ich schon versucht, funktioniert allerdings nicht!

Fehler: Das Argument vom Typ ""const char *"" ist mit dem Parameter vom Typ ""LPCWSTR"" inkompatibel.
Du musst den Zeichensatz auf "Multibyte Zeichensatz " umändern soweit ich das noch richtig in Erinnerung habe. Das geht bei Visual C++ 2010 mit einem Rechtsklick auf das Projekt ,dann auf Eigenschaften und dann musst du den Zeichensatz von Unicode auf Multibyte umstellen.

Edit : Stimmt doch nicht habs grad nochmal aus Neugier in meine Ide eingefügt :
FindWindow(NULL,L"Solitär");
Kompilliert er auch mit dem Unicode Zeichensatz der normalerweiße eingestellt ist.
marykillsjane is offline  
Old 04/07/2013, 02:09   #6
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Statt L"foo" besser _T("foo"), T("foo") oder TEXT("foo") benutzen.
Schlüsselbein is offline  
Old 04/07/2013, 10:20   #7
 
elite*gold: 0
Join Date: Mar 2013
Posts: 11
Received Thanks: 0
Quote:
Originally Posted by Dr. Coxxy View Post
was hältst du davon mal meinen code abzutippen?

Das Habe ich gemacht und den obenstehenden Fehler erhalten.

Quote:
Originally Posted by marykillsjane View Post
Du musst den Zeichensatz auf "Multibyte Zeichensatz " umändern soweit ich das noch richtig in Erinnerung habe. Das geht bei Visual C++ 2010 mit einem Rechtsklick auf das Projekt ,dann auf Eigenschaften und dann musst du den Zeichensatz von Unicode auf Multibyte umstellen.

Edit : Stimmt doch nicht habs grad nochmal aus Neugier in meine Ide eingefügt :
FindWindow(NULL,L"Solitär");
Kompilliert er auch mit dem Unicode Zeichensatz der normalerweiße eingestellt ist.
Damit hast du vollkommen recht und es funktioniert auch in der IDE. Aber wie mache ich das mit dem MINGW Compiler oder mit dem Microsoft Optimierungscompiler über die Konsole?
H4rtzer is offline  
Old 04/07/2013, 18:30   #8


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Quote:
Originally Posted by marykillsjane View Post
Du musst den Zeichensatz auf "Multibyte Zeichensatz " umändern soweit ich das noch richtig in Erinnerung habe. Das geht bei Visual C++ 2010 mit einem Rechtsklick auf das Projekt ,dann auf Eigenschaften und dann musst du den Zeichensatz von Unicode auf Multibyte umstellen.

Edit : Stimmt doch nicht habs grad nochmal aus Neugier in meine Ide eingefügt :
FindWindow(NULL,L"Solitär");
Kompilliert er auch mit dem Unicode Zeichensatz der normalerweiße eingestellt ist.
Das ist absoluter Stuss. Wenn man explizit FindWindowW nimmt, ist egal, welcher Zeichensatz eingestellt ist. Wenn man FindWindow nutzt, dann muss man eben gerade Unicode als Zeichensatz einstellen, immerhin willst du ja auch einen L""(Unicode)-String übergeben.

Quote:
Originally Posted by H4rtzer View Post
Das Habe ich gemacht und den obenstehenden Fehler erhalten.
Dann hast du einen total beschissenen Compiler oder eben nicht 1:1 abgetippt.

Nochmal:


Code:
FindWindowW(NULL, [B][U]L[/U][/B]"Solitär");
MrSm!th is offline  
Old 04/07/2013, 18:55   #9
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Bzw. gleich FindWindow(NULL, T("Solitär")) benutzen und die Makros arbeiten lassen. Das funktioniert unabhängig vom eingestellen Zeichensatz.

Wers sich ganz einfach machen will, greift zur Lösung meines Vorposters.
Schlüsselbein is offline  
Old 04/07/2013, 21:28   #10
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
Quote:
Originally Posted by Schlüsselbein View Post
Bzw. gleich FindWindow(NULL, T("Solitär")) benutzen und die Makros arbeiten lassen. Das funktioniert unabhängig vom eingestellen Zeichensatz.

Wers sich ganz einfach machen will, greift zur Lösung meines Vorposters.
du verstehst schon, dass sein projekt offensichtlich auf multibyte zeichensatz eingestellt ist, deine lösung also automatisch die FALSCHE funktion aufrufen wird?
er will ja grade explizit die W-funktion aufrufen, damit umlaute erkannt werden.
Dr. Coxxy is offline  
Old 04/07/2013, 22:56   #11
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Quote:
du verstehst schon, dass sein projekt offensichtlich auf multibyte zeichensatz eingestellt ist, deine lösung also automatisch die FALSCHE funktion aufrufen wird?
Ja, jetzt schon. Vergesst mein geblubber, hab den Opener nicht richtig gelesen und bin wohl noch zu verstrahlt.
Schlüsselbein is offline  
Reply


Similar Threads Similar Threads
SMS in MMS Konvertierung abschalten/ändern
02/13/2013 - Smartphones - 3 Replies
Nabend zusammen. Ich bin vor kurzem von meinem alten Desire HD mit 2.3.5 auf ein S3 mit 4.1.2 umgestiegen. Da ich immer relativ lange SMS schreibe, ist mir jetzt beim S3 aufgefallen, dass die Stock App nach 3 SMS automatisch in eine MMS kovertiert. Ist bei einer SMS Flat irgendwie denkbar ungünstig. Vorher beim alten Handy ging das noch ohne Probleme. Google Suche hat mir gesagt, dass das scheinbar an der Android Version liegt. Lösung soweit ich das sehen kann, bietet nur der Umstieg auf ein...
[Brauche Hilfe]konvertierung WinApi Variable
01/16/2013 - General Coding - 0 Replies
Hallo an alle ich suche eine möglichkeit in C++ einen std::string zu einer Winapi Variablen namens LPSTR zu konvertieren. Mein problem besteht darin,dass ich die CreateProcess() Funktion der Winapi benutzen möchte.Das hat bisher auch immer geklappt habe es so gehandhabt bis jetzt : PROCESS_INFORMATION pi; STARTUPINFO si; ZeroMemory(&si,sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); CreateProcess(NULL,TEXT("Dateiname.exe") , NULL, NULL, TRUE, 0, NULL, NULL, &si,...
Tools zur item_proto-Konvertierung
08/04/2012 - Metin2 PServer Guides & Strategies - 44 Replies
Hi, ich habe hier ein Tool zur Konvertierung der Clientside-item_proto zur Serverside-item_proto und ein PHP-Script, um das ganze umgekehrt zu machen, für euch. http://img40.imageshack.us/img40/14/itemprotoconv erter.png item_proto_dump.xml muss im gleichen Ordner, wie die Executable sein, und die item_proto.sql wird im gleichen Ordner gespeichert. Im PHP-Script müsst ihr einfach die DB-IP, einen DB-Account und das dazugehörige Passwort eintragen.
Video nach Konvertierung 14 GB
08/15/2011 - Technical Support - 3 Replies
Hey, hab' letztens eine .flv Datei (199MB) nach .avi umgewandelt und plötzlich war das Video 14 GB groß. Habe es in die Auflösung 1280x720 umgewandelt, ist das vllt das Problem? Will ja nicht in schlechte Quali gucken... Benutze den Prism Videodatei- Konverter
[C++] Frage zur Konvertierung von Strings
09/13/2009 - C/C++ - 13 Replies
Hey, ich will in C++ ein GUI mit einer Editbox erstellen. (Habe das GUI mit MFC erstellt.) Wenn man nun auf einen Button klickt, soll der String der Editbox ausgelesen werden und in einer .ini Datei abgespeichert werden. Das Problem: Wenn ich die Editbox auslese, benöige ich einen CString. WritePrivateProfileString() akzeptiert aber nur LPCSTR. Ich finde einfach keine Lösung, um das umzuwandeln. Code: void CVokabeltrainerDlg::OnBnClickedButton1() { CEdit* pEdit = (CEdit*)...



All times are GMT +1. The time now is 06:31.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.