Seite 1 von 1

GTK Typenkonvertierung für das MySQL API

Verfasst: Fr Nov 21, 2014 12:14 pm
von lxuser
hallo,

ich bin C und GTK+ Anfänger und ich hab das Problem das ich wenn ich den wert für den Port aus meinem GTK Entry auslesen will es nicht in mysql_real_connect() verwenden kann.



Das einlesen des GTK Entrys mach ich so:

Code: Alles auswählen

	
gchar *port 	 	 = NULL;
port 	 	  = g_strdup(gtk_entry_get_text(GTK_ENTRY(entries[1])));
ist also ein Zeiger des Types gchar und soweit ich weiß geht das auch garnicht mit anderen Typen.

Verwenden wollt ich das dann ganz einfach so:

Code: Alles auswählen


	if( mysql_real_connect (
					my,           			/* Zeiger auf MYSQL-Handler */
					serveradresse, 		/* Host-Name */
					benutzername,			/* User-Name */
					passwort,				/* Passwort für user_name */
					NULL,  				/* Name der Datenbank */  
					port,          			/* Port (default=0) */
					NULL,          			/* Socket (default=NULL) */
					0              			/* keine Flags */  )  == NULL) {}
Fehlermeldung:

Code: Alles auswählen

mysql_editor_gtk.c:74:6: Warnung: Übergabe des Arguments 6 von »mysql_real_connect«  erzeugt Ganzzahl von Zeiger ohne Typkonvertierung


wie kann ich daraus jetzt den benötigten uint machen?

Sorry falls es ne dumme Frage ist aber ich find da schon ne ganze weile keine Lösung für.

Danke im voraus!

Re: GTK Typenkonvertierung für das MySQL API

Verfasst: Sa Nov 22, 2014 4:05 pm
von Xin
Moin. Ein gchar dürfte im Prinzip nichts anderes sein als ein char.
Da würde ich vorsichtshalber noch mal nachgucken, aber GTK läuft soweit mir bekannt mit UTF8.
Der Portnummer wäre damit Ziffern, womit UTF8 und ASCII identisch sind. Du kannst Deinen gchar * Pointer also in die Funktion atoi() stecken und bekommst die gewünschte Zahl zurück.

Schau Dir dazu auch mal strtoul() an.

Re: GTK Typenkonvertierung für das MySQL API

Verfasst: Fr Nov 28, 2014 8:37 pm
von lxuser
THX :)