現在、
char mozi[500];
pDoc->mozi[file_a]='z';
…
file_a++;
で一つの配列に1バイトずつ入れていき、
char data3[100];
for(i=0;i<100;i++){
data3[i]=pDoc->mozi[i];
}
でdata3に入れていき、文章を作っています。
このとき、全角の文字を入れようと
pDoc->mozi[file_a]='あ';
としても、
'=' : 'const int' から 'char' へ切り詰めます。
'=' : 定数値が切り捨てられました。
と、警告が出て、最後に文章を表示するときに不都合が出ます。
1バイトの配列に2バイトの全角文字を入れているのでエラーとなるのでしょうが…。
何か良い方法はあるのでしょうか?
strcpyを使ってみては?
i++ではなく、i+=2で試してはどうでしょう?
「俺様!」と入力すれば何とかなりますよ。
上の記述は取り消します。冗談です。ごめんなさい。
普通はstrcpy()やmemcpy()やら使うものですが、
"あ"[0]
"あ"[1]
というやり方もあります。
例えば
pDoc->mozi[file_a] = "あ"[0];
pDoc->mozi[file_a + 1] = "あ"[1];
ツイート | ![]() |