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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ZEROXX

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

#1

投稿記事 by ZEROXX » 7年前

こんばんは、既に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です。

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

jay
記事: 314
登録日時: 9年前
住所: 大阪市
連絡を取る:

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

#2

投稿記事 by jay » 7年前

いわゆるワーニングエラーですね

strncpyはセキュリティに問題があるのでstrncpy_sを使って下さいということです
♪僕たちは まだ森の中 抜け出そう 陽のあたる場所へ

ZEROXX

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

#3

投稿記事 by ZEROXX » 7年前

jayさん回答ありがとうございます。
今回の問題は解決できましたので、これにてこの質問を解決したいと思います。

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

閉鎖

“C言語何でも質問掲示板” へ戻る