ページ 11

1文字ずつの表示について

Posted: 2013年1月15日(火) 23:33
by ZEROXX
こんばんは、既に2回くらいこの掲示板を利用しているものです。
では、早速ですが
1、最近、またゲームを作りたいなと思って頑張って作っていたのですが、
また途中で躓いてしまいました。 その解決策を見つけるために掲示板
を利用しようと思った次第です。

2、今回の問題点は、ノベル風な文字表示方法なんですが、プログラミ
ングの館を見てやっていたんですが意識不足の為か、理解できません
でした。 
一応自分で調べては見たんですが、解決策が見つかりませんでした。
今回躓いた所は、strncpyの所です。
問題の部分だけ載せたいと思います。

コード:

char SDL[]={
	"「全角の日本語文字が入ります。」"
};
char SDL2[256]="";
for(int iii=0; iii<=23;iii+=2){
ScreenFlip();
strncpy(SDL2,SDL,iii);
//Cr2は、白色のカラーが入ってます。
DrawFormatString( 70 , 670 , Cr2, "%s",SDL2);
}
このように書いて実行すると、文字はしっかりと1文字ずつ表示されるんですが、Errorが出てしまいます。
Error内容はこちらです。(ちなみに開発環境は、Microsoft Visual C++ 2010 Expressです。)
c:¥...¥ゲーム製作.cpp(860): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

c:¥...¥アプリケーション\vc\include\string.h(188) : 'strncpy' の宣言を確認してください。

他は全てちゃんと動作します。
3、今のC++の知識は、if,while,do-while,switch,continue,for,関数,変数,配列
これくらいの知識です。
コンソール画面で色々計算プログラムを作ったりと少しくらいの物は作れる
ようにはなってきました。
コンソールでは、物足りなくなってきたので、現在はDxLibを使用してやっています。

OS・コンパイラ・ライブラリは、Windows7・Microsoft Visual C++2010 Express・DxLibです。

どうかよろしくお願いします。

Re: 1文字ずつの表示について

Posted: 2013年1月16日(水) 00:09
by jay
いわゆるワーニングエラーですね

strncpyはセキュリティに問題があるのでstrncpy_sを使って下さいということです

1文字ずつの表示について

Posted: 2013年1月16日(水) 00:14
by ZEROXX
jayさん回答ありがとうございます。
今回の問題は解決できましたので、これにてこの質問を解決したいと思います。

ありがとうございました。