PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kompatibilitätsproblem Win <-> UNIX



25-10-2000, 11:04
ich habe etwas schwierigkeitren beim arbeiten mit zeigern. Folgender Code läuft z.B nur unter Win aber nicht unter Linux.
Weiss jemand von Euch, woran das liegt??



#include <stdio.h>
#include <string.h>
int copy(char *a,char *b){
strcpy(*a,*b);
return 0;
}
int main(int argc,char *argv[]){
char * str1="1. String";
char * str2="2. String";
int i;
copy(str1,str2);
printf ("%s %s\n",str1,str2);
return 0;
}

thommy
25-10-2000, 11:39
Das Programm hätte unter Windows nicht funktionieren dürfen...

<pre>
#include &lt;string.h&gt;
#include &lt;stdio.h&gt;

int copy(char *a,char *b){
strcpy(a,b);
return 0;
}
int main(int argc,char *argv[]){
char str1[]="1. String";
char str2[]="2. String";
copy(str1,str2);
printf ("%s %s\n",str1,str2);
return 0;
}
</pre>

Thomas

25-10-2000, 15:43
und warum nicht?

fallst du auf die includes anspeilst, die sind nr durch die tags verschwunden!!!

Olli

thommy
25-10-2000, 16:29
Nein, das mit den includes ist ein altbekanntes Problem mit HTML-Tags http://www.linuxforen.de/ubb/wink.gif

Es ist der Aufruf von strcpy(*a,*b);, hier dereferenzierst Du einmal zu viel.

Thomas