#include <stdio.h>
#include <string.h>
void CloneStr(char **dest, const char *src)
{
size_t len = strlen(src);
*dest = new char [len + 1];
char *tDest = *dest;
while(*src)
{
*tDest = *src;
++tDest;
++src;
}
*tDest = '\0'
}
int main(int argc, char *argv[])
{
const char *src = "hoge";
char *dest = NULL;
CloneStr(&dest, src);
printf("%s\n", dest);
delete[] dest;
dest = NULL;
return 0;
}
ちまちまこういうコードを書いていこうと思う。文字列コピーの部分はstrcpyでもいいと思うけど、最近OSS読みにハマってるのであえて書いてみた。※ 追記
strdupという関数があるそうです。知らんかった。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
const char *src = "hoge";
// 文字列をクローン
char *dest = strdup(src);
//出力
printf("%s\n", dest);
//メモリ解放
free(dest);
dest = NULL;
return 0;
}
0 件のコメント:
コメントを投稿