strcpy

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
研修生

strcpy

#1

投稿記事 by 研修生 » 16年前

char strcpy(char *S1, const char*s2)
{
  char *p=s1;
  while(*s1++=*s2++)
     ;
   return p;
}

int main()
{
   char *p="Visual";
   char *q="C++";

   printf("%s",strcpy(p,q));
   return 0;
}
これは参考書にあるstrcpyの定義書き写したものですがなんかエラーでます・・
<string.h>のstrcpy使ってもでるので混乱している状態です。

バグ

Re:strcpy

#2

投稿記事 by バグ » 16年前

コピー先に書き換え不能な領域を指定しているからです。
ひょっとして、研修生さんはVBとかJavaの経験者なのでしょうか?

研修生

Re:strcpy

#3

投稿記事 by 研修生 » 16年前

すいません。前回の質問と一緒で実体がなさそうでした。

研修生

Re:strcpy

#4

投稿記事 by 研修生 » 16年前

いえ、全くの初心者です。
char *p=Visual";
char s[19];
printf("%s",strcpy(s,"aaa"));にしたら使えました。

バグさんありがとうございました。

バグ

Re:strcpy

#5

投稿記事 by バグ » 16年前

そうでしたか、失礼しました(^_^;)
最初は、「文字」、「文字列」、「文字列へのポインタ」の違いが分かりづらいとは思いますが、頑張ってください。

初級者

Re:strcpy

#6

投稿記事 by 初級者 » 16年前

何かエラー出ます、ではなく
「何のときに、どんな」エラーが出るかを書いてください。

ところで、質問時のソースでは関数の型 char と戻り値の型 char * が
異なっています。
解決済みですか?

研修生

Re:strcpy

#7

投稿記事 by 研修生 » 16年前

あ、表記ミスです。書き写しなのですいません

閉鎖

“C言語何でも質問掲示板” へ戻る