C/C++の宿題を片付けます 110代目
レス数が950を超えています。1000を超えると書き込みができなくなります。
0952デフォルトの名無しさん
2008/06/27(金) 18:10:05えと、countCharの実装方法によるんだけど
char source[]="Hello";をカウントした場合に5が帰ってくる場合
>>943に書いたmyStringCopyだと、Helloをコピーした後に文字列の終端を示す為に\0を追加するので
6バイト分書き込みます
もし、カウント分の5バイトしかmallocで確保しなかった場合にメモリを破壊してしまいますので
malloc時にmalloc(size * sizeof(char) + 1);等して6バイト分確保してください
で、何で最後に\0を追加するかというと
fprintfで表示する際に
もし無かった場合、\0が出てくるまで表示しようとしますので
そうならないようにする為です。
これでOK?
そろそろ仕事あがるので、後は他の人に任せた
レス数が950を超えています。1000を超えると書き込みができなくなります。