以下のようなコードを作成したのですが、引数に渡したバッファに文字列をコピーすることができません。。。
NULLが返ってきてしまうのですが、このように引数にアドレスを渡してそこに値を書き込んで返してもらうような処理はどのように修正すればよいでしょうか。
ご教示くださいますと幸いです。よろしくお願いいたします。
C
1#include <stdio.h> 2#include <stdlib.h> 3#include <string.h> 4 5int copy(char *buf) 6{ 7 char *src = "TEST\n"; 8 buf = (char *)malloc(24); 9 memset(buf, 0, 20); 10 sprintf(buf, "%s", src); 11 return 0; 12} 13 14int main(void) 15{ 16 char *dst; 17 int ret; 18 19 ret = copy(dst); 20 printf("%s", dst); 21 free(dst); 22 23 return 0; 24}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/03 04:21
2020/06/03 04:26
2020/06/03 04:28