エディットボックスからの文字列の取得 – プログラミング – Home

エディットボックスからの文字列の取得
 
通知
すべてクリア

[解決済] エディットボックスからの文字列の取得


amane
 amane
(@amane)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

ボタンをおすと以下の
ifstream fin;
CFileDialog f(TRUE);
if(f.DoModal()==IDOK){
fin.open(f.GetFileName());
if(fin.fail()){
AfxMessageBox(ファイルをオープン出来ません);
fin.close();
}
char buf[20];

m_sEdit=";
while(fin.getline(buf,20)){
m_sEdit=m_sEdit+buf+\r\n;
}
fin.close();

UpdateData(FALSE);
}
}
ようにしてエディットボックスに選択したファイルを表示させて、
さらに他のボタンで
CString ss;
m_sEdit.GetWindowText(ss);
として文字列を取得したいのですが、CStringの宣言を確認してくださいとエラーがでてしま
います。m_sEditに表示させるとこまではうまくいきます。どこが間違っているのでしょう
か?
ちなみに、この先はssの内容を配列にいれて計算をさせたいです。例えば
1 1
2 2
3 3
4 4
5 5
などというデータの行列計算等です。


引用未解決
トピックタグ
REE
 REE
(@REE)
ゲスト
結合: 24年前
投稿: 240
 

エディットボックスの内容はm_sEditに既に入っているはずなので、
ss=m_sEdit;
で良いのでは?

ボタンを押す前にエディットボックスが更新されている可能性があれば、
UpdateData(TRUE)を実行しておきます。

GetWindowTextはCWndの派生クラスに使用するものです。


返信引用
amane
 amane
(@amane)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

ありがとうございました。できました。
さらに教えていただきたいのですが、
ssに入れた文字列を配列に格納したいのです。
計算したいので、文字列を数値に変換しないといけないと思うのですが
どうやったらいいのでしょうか?
ひとつの値であればfscanf(ss,%d,&n)などとやればいいいんですよね?
これの配列への応用の仕方がわからないのです。。。。


返信引用
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 23年前
投稿: 310
 

GetDlgItemInt()を使ってみてはいかがでしょうか。

int num = GetDlgItemInt(IDC_EDIT);


返信引用
amane
 amane
(@amane)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました