- スレ立てるまでもない質問はここで 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
ありがとうございます。無事解決しました。
|