• 締切済み

VC++のプログラミングについて

VC++(verson2003)でテンプレートはMFCのダイアログベースでアプリケーションを作成しています。以下のプログラムはあるボタンをクリックしたときに呼び出される関数でエディット(コントロール変数m_edit1)に入力されたファイル名の内容(メモ帳に記述したテキスト文)を変数textに格納するものです。このプログラム書き換えてメモ帳に 3 1 4 9 のように記述した数字をint型の一次配列に格納するようにしたいのですがどのようにすればよいでしょうか。 void CprogramDlg::OnBnClickedButton1() { CStdioFile fin; char buf[1001]; CString text,filename; m_edit1.GetWindowText(filename); if (filename == "") return; if(!fin.Open(filename, CFile::modeRead | CFile::typeBinary)) {  AfxMessageBox("読み込みファイルをオープンできません");  return; } text = ""; while (fin.ReadString(buf,1000) != NULL) { text = text + buf; } fin.Close(); }

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

通常のテキストファイルならばBinaryでやり取りするより Textモードでやり取りしたほうが簡単だと思いますよ int nbuf[20] = {0}; int n = 0; CString str; if ( fin.Open( FileName, CFIle::modeOpen | CFile::typeText) ) {   while ( fin.ReadString(str) ) {     nbuf[n] = atoi( str );     n++:   } } else {   AfxMessageBox("エラーメッセージ"); } といった具合です 改行コードは必要ないと思いますのでCString型を引数にすれば良いように思います # 字下げには全角スペースを使用しています

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • 経理Liteを初めて利用する際の注意点や課題についてまとめます。
  • 紙の帳簿からデジタル化に挑戦する際の最初のステップや問題点について解説します。
  • デジタル化による経理管理のメリットとデメリット、利益剰余金勘定の処理方法について説明します。
回答を見る

専門家に質問してみよう