WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 02.01.2006, 20:57   #1
cap-t
Newbie
 
Registriert seit: 02.01.2006
Beiträge: 3


Standard 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
cap-t ist offline   Mit Zitat antworten
Alt 02.01.2006, 21:01   #2
zAPPEL
Inventar
 
Registriert seit: 07.11.2001
Ort: Perchtoldsdorf
Alter: 45
Beiträge: 2.085

Mein Computer

Standard

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
____________________________________
„Das menschliche Gehirn ist eine großartige Sache.
Es funktioniert vom Moment der Geburt an – bis zu
dem Zeitpunkt, wo du aufstehst, um eine Rede zu halten.“ Mark Twain

"Windle shook his head sadly. Four exclamation marks, the sure sign of an insane mind" Reaper Man, Terry Pratchett
zAPPEL ist offline   Mit Zitat antworten
Alt 02.01.2006, 21:18   #3
cap-t
Newbie
 
Registriert seit: 02.01.2006
Beiträge: 3


Standard

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
cap-t ist offline   Mit Zitat antworten
Alt 03.01.2006, 08:50   #4
helios
Veteran
 
Registriert seit: 21.06.2001
Beiträge: 343


helios eine Nachricht über ICQ schicken
Standard

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);
}
____________________________________
religion is a virus from outer space
helios ist offline   Mit Zitat antworten
Alt 03.01.2006, 15:43   #5
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

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
Biri ist offline   Mit Zitat antworten
Alt 04.01.2006, 19:36   #6
cap-t
Newbie
 
Registriert seit: 02.01.2006
Beiträge: 3


Standard

vielen dank helios & Biri - nun klappts 1A!

LG
cap-t
cap-t ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


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


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