うっかり

文字列の仕様を考えれば当然な挙動なのだが、うっかりやってしまった。

文字列の仕様を考えれば当然な挙動なのだが、うっかりやってしまった。

  • hk1v
  • 2013/7/17 23:40
  • タグ:
  • タグはありません
	sdim test, 64
	repeat 8
		test += "testtest"
	loop
	mes "元の文字列サイズ: " + strlen(test)
	
	// 64バイトコピーしているはずが、表示は65バイトになる
	sdim copy, 64	// sdim copy, 64 + 1 とすべき(NULL文字の分)
	memcpy copy, test, 64, 0, 0
	mes "コピーした文字列サイズ(memcpy): " + strlen(copy)
	
	// こっちは平気
	copy2 = test
	mes "コピーした文字列サイズ(代入): " + strlen(copy2)