C言語なら俺に聞け(入門編)Part 115
■ このスレッドは過去ログ倉庫に格納されています
0807デフォルトの名無しさん
2013/06/10(月) 06:43:43.79文字列の最初から途中の部分までを抜き出したい場合に、抜き出す文字数をアドレスで指定することは問題ありませんか?
char buf[] = "pqrstuvxyz;
char *ptr;
char test[16];
ptr = strchr( buf , 'x' );
strncpy( test , buf , ptr - buf ); //アドレスの差を文字の差として利用
以上のようなコードを書いていますが、問題ありませんか?
希望通りの動作はしましたが、ただ運が良かっただけかもしれないため質問しました。
OSはWindows7以降、コンパイラはBCCです。
strchrがnullを返した場合やtestのサイズを超える場合などは実際のコードではチェックしているので突っ込みなしでお願いします。
コンパイラにも突っ込みなしでお願いします。
■ このスレッドは過去ログ倉庫に格納されています