Winnyの実装のお粗末さを語れ
■ このスレッドは過去ログ倉庫に格納されています
0417奈々@スーパプログラマ ◆Xl6OTFSLJ2
2006/02/03(金) 17:29:18うお!
それで色々検索してたら恐ろしい記事がかかった。
上の例でもしsubBufのサイズが文字列のサイズより小さかったりするとバオフらしい。
つまりこういう関数を作っておいて、それを使えということだな。
int strNcpy(char *subBuf,char *mainBuf,int length){
if (sizeof(subBuf)<=length) return -1;
strncpy(subBuf,mainBuf,length);
subBuf[length]='\0';
return 0;
}
今回は足りなかった場合に-1を返すという処理で終わっているが、
場合によっては足りなかったら、
足りる分だけコピーして後は切り捨てるという処理が欲しい場合もある。
この辺りの仕様をどうするかが問題だな。
引数をもう一つ増やしてそれを判別するためのフラグとして使ってもいいが・・・
■ このスレッドは過去ログ倉庫に格納されています