WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   C Noob benötigt Hilfe! (http://www.wcm.at/forum/showthread.php?t=182166)

cap-t 02.01.2006 20:57

C Noob benötigt Hilfe!
 
Hallo Leute,

bin ein absoluter!!! C-Noob und habe ein Problem beim Aufruf einer Call-By-Reference Funktion, vielleicht ist ja jemand so nett und kann mir bei meinem Knoten im Hirn helfen ;)

die aufzurufende Funktion:
Code:

void GetCorrectTime(char *FormatedTime[8]) {
...
}

der Aufruf:
Code:

...
char FormatedTime[8] = "00:00:00";
GetCorrectTime(&FormatedTime);
...

die Warnung beim Kompilieren lautet:
warning: passing argument 1 of 'GetCorrectTime' from incompatible pointer type

Was hats hier? Was mach ich falsch?
Bitte nicht schimpfen *g* - bin wie gesagt ein absoluter C-Noob´!

Schönen Dank schon mal
cap-tr

zAPPEL 02.01.2006 21:01

Müsste man da nicht ein:

Code:

char* FormatedTime[8] = "00:00:00";
Aber kann auch komplett falsch sein, habe schon ewig lange nichts mehr mit C programmiert.

lg

cap-t 02.01.2006 21:18

funktioniert leider nicht, damit definiere ich ja FormatedTime ausserhalb der Funktion als Pointer, dies sollte aber ein char sein.
Ich möchte nur der Funktion selbst den Pointer von FormatedTime übergeben damit ich den Inhalt von FormatedTime in der Funktion ändern kann (Call-By-Reference).

trotzdem danke
cap-t

helios 03.01.2006 08:50

Code:

void GetCorrectTime1( char str[][])
{
  printf ("%s\n", *str);
  strcpy(*str,"11:11:11");
}

void GetCorrectTime2( char str[])
{
  printf ("%s\n", str);
  strcpy(str, "22:22:22");
}


main ()
{
  char FormatedTime[] = "00:00:00";
  GetCorrectTime1(&FormatedTime);
  printf ("%s\n", FormatedTime);
  GetCorrectTime2(FormatedTime);
  printf ("%s\n", FormatedTime);
}


Biri 03.01.2006 15:43

hi,

dem ist noch hinzuzufügen:
Achtung, du weißt hier einem char arry mit größe 8 eine Zeichenkette mit 8 zeichen zu.
es ist also kein platz mehr für die abschließende ASCII-0.
=> array muss größe 9 haben.

fg
-hannes

cap-t 04.01.2006 19:36

vielen dank helios & Biri - nun klappts 1A!

LG
cap-t


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag