トップページ > プログラム > 2014年05月01日 > EbX4Dp2d

書き込み順位&時間帯一覧

16 位/213 ID中時間01234567891011121314151617181920212223Total
書き込み数1000000100000000010100004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレ立てるまでもない質問はここで 135匹目
【初心者歓迎】C/C++室 Ver.90【環境依存OK】

書き込みレス一覧

スレ立てるまでもない質問はここで 135匹目
723 :デフォルトの名無しさん[sage]:2014/05/01(木) 00:57:07.03 ID:EbX4Dp2d
C言語でプログラム書いてるんだがint型の数値をLPWSTR型の文字列に変換できなくてここに来ました。
スレチだったら言ってください。

int i = 0; char num[2]={0}; LVITEM item = {0};
って感じの変数がある時にint型のiをitem.pszTextに文字列として入れたいので
itoa(i,num,10);
item.pszText = TEXT(num);
ってやったら
itoaの行で warning C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See online help for details.
pszTextに代入する行で error C2065: 'Lnum' : 定義されていない識別子です。
って感じの警告とエラーが出てきてしまうのですが、どうしたらいいでしょうか?
スレ立てるまでもない質問はここで 135匹目
729 :デフォルトの名無しさん[sage]:2014/05/01(木) 07:46:46.67 ID:EbX4Dp2d
>>725 >>728
返信ありがとうございます。
char="文字列"=LPSTR=LPCSTR
wchar=L"文字列"=LPWSTR=LPCWSTR
TCHAR=TEXT"文字列"=LPTSTR=LPCTSTR
であり、LPWSTRに変換したいのであれば_itow()を使うべきという事、
int型から変換した0がどう解釈されるかわからないから変換後の文字列を入れる変数を見直した方がいいという事ですね
とりあえずそこを見直してもう一度やってみたいと思います

あと、質問する掲示板を間違えていたみたいなのでこれにて失礼させて頂きます
スレチの質問にわざわざ答えて頂きありがとうございました
【初心者歓迎】C/C++室 Ver.90【環境依存OK】
590 :デフォルトの名無しさん[sage]:2014/05/01(木) 17:50:45.92 ID:EbX4Dp2d
>>582-583さんありがとうございます。こちらで答えてくれていたとは思いませんでした。

このレスを参考に
int i = 0; WCHAR num[2]={0}; LVITEM item = {0};
for(i=0;i<20;i++){
_itow_s(i+1,num,10,sizeof(num));
item.pszText = num;
item.iItem = i;
ListView_InsertItem(hList , &item);
}
としたところプログラムが起動しなくなってしまいました。
iの中を確認したところ_itow_sの時にiが初期化してしまうために無限ループが起きてしまっていると思うのですが、
_itow_s()にint変数を初期化する仕様があるのでしょうか?
初期化するようならint変数をもう1個用意すれば動くのですが、初期化の伴わないintからWCHARへの変換を行う関数というものは無いのでしょうか?
どなたかよろしくお願いします
【初心者歓迎】C/C++室 Ver.90【環境依存OK】
595 :デフォルトの名無しさん[sage]:2014/05/01(木) 19:18:08.61 ID:EbX4Dp2d
>>591-594
ありがとうございます。無事解決しました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。