C・C++・C#
- テキストファイルの内容を文字列として格納する方法を教えてください。
windows xp、visual C++でプログラムを作成している初心者なんですが、コンマ(,)で区切られたテキストファイルの一部分を文字列として取得する方法が知りたいです。たとえば"sample.text"というファイル名で、 "BAAE0001","0","8","1000100010001000" "BAAE0002","0","8","1000100010001010" ・ ・ ・ と続いていくテキストなんですが、一行目のBAAE0001をa1に入れ、0をb1に入れ、8をc1に入れ、1000100010001000をd1に入れて、二行目以降もa1、b1…の数字の部分を1ずつ増やして同じように格納していくというふうにしたいです。わかる方、いい方法がある方がいましたらどうか教えてください。
- ベストアンサー
- C・C++・C#
- jojojojojojo
- 回答数3
- 「クラスが登録されいません」エラーの回避方法
現在、ActiveX コントロールを取り込み、おしゃべり機能が入ったソフトを作っております。 ところが、PCによってはSAPIと日本語発生エンジンが入っていませんので「クラスが登録されいません」というエラーになっています。 そこで「クラスが登録されいません」エラーが出ないようにしたいのですがどなたかご存知の方がおられましたら、ヒントでも構いませんので宜しくお願いします。
- WinAPIでのファイル操作について教えて下さい。
現在参考書やwebサイトと参考にWindowsプログラミングを学んでいます。 下記のサイトにあるファイル作成のソースをコンパイルして実行したのですが http://wisdom.sakura.ne.jp/system/winapi/win32/win111.html #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow) { HANDLE hFile; hFile = CreateFile( lpCmdLine , GENERIC_READ , 0 , NULL , CREATE_NEW , FILE_ATTRIBUTE_NORMAL , NULL ); if (hFile == INVALID_HANDLE_VALUE) { MessageBox( NULL , TEXT("ファイルを作成できません") , TEXT("エラー") , MB_OK ); return 1; } CloseHandle(hFile); return 0; } コンパイルは成功するのですが実行すると必ずエラーになります。 他のソースも同様にファイル操作に失敗した場合の表示が行われます。 自分が持っている参考書にはファイル操作についてあまり詳しく書かれていないので他のソースも試せません。 どなたか教えて下さいよろしくお願いします。
- 応答なしの外部アプリの強制終了
現在、応答なし状態の外部アプリを強制終了させたいのですが上手くいきません。 アプリが応答なしかどうかはSendMessageTimeoutを使用して判断できるます。 しかし、強制終了をPostMessage(hwnd, WM_CLOSE, 0, 0)でしても戻り値は正常なのですがアプリは終了してくれません。(応答なしだから?でも戻り値返してるって事は応答なしじゃないの?謎) 一応、外部アプリが実行中の状態でPostMessageをコールしたらちゃんと終了してくれました。 他にアプリを強制終了させるような関数をあるのでしょうか?あるのであれば教えてください。 よろしくお願い致します。 === 環境 === Windows2000 VC++ 6.0
- ベストアンサー
- C・C++・C#
- this0is6a2pen2
- 回答数3
- C++で関数を画面に描写するにはどうしたらいいの?
関数の動きを表現したいのですが、どうしたらいいのでしょうか。 簡単なsin波の波形を表現さえできれば自分で後は考えるのですが・・。 具体的にしたい事はカオスアニメーションの表現です。 http://hp.vector.co.jp/authors/VA012735/applet/kaos.htm のようなカオスアニメーションをC++で表現したいのです。 カオスアニメーションは自分で考えるますが、関数の描写の表現を知りたいです! 誰か教えてください><
- C言語でのファイル操作について(初心者)
ファイル操作について教えてほしいのですが、 例えば、(極端な話ですが) AさんがBさんに飴玉をあげたのが分かったら ファイルにAさんとBさんの組を登録し、 Aさんのカウンタを1つ増やす。 そしてBさんがAさんにお返しに飴玉をあげたら Aさんのカウンタを1つ減らす。 お返しをしなかったらAさんのカウンタは1のまま というようなプログラムを作成したいんですが どうやったらいいのかわかりません。誰か分かる人が いらっしゃいましたらご教授お願いします。 if(AさんがBさんに飴玉をあげたのが分かったら) { FILE *fp; fp = fopen("filename", "a"); fprintf(fp, "A"); /* filenameというファイルにAとBの組を登録*/ fprintf(fp, " B\n"); ---filenameの中--------------------- あげた人:A もらった人:B A=1 ------------------------------------ というように計算しようとしています お願いします。
- ベストアンサー
- C・C++・C#
- zunzunzunzunzun
- 回答数3
- (VC++.Net) クラスにクラスを属性として追加できるでしょうか?
初歩的な質問ですみませんが、教えてください。 #include <string> class A { int x; int y; std::string strX; //↑stringクラスを使いたい。 //(charだったり上手くいく。) }; とやると実行自体(コンパイラーエラーがたくさんでますが・・)は出来るのですが、アクションを掛けたら、"ハンドルしていない例外が発生しました"というエラーが出てしまいます。(←あたりまえか) stringクラスに限ったことではないのですが、自作のクラスを、ほかの自作のクラスへメンバ変数?的に使用したいのですが、上手くできません。一つ二つのクラスを、ほかのクラスで使用するならば、継承すればよいのですが、一つのクラスが、たくさんのクラスを使用するような場合、どのように記述すればよいのでしょうか? どこを勉強すればよいのでしょうか? ご教授のほど、よろしくお願いいたします。m( _ _ )m
- C言語においてコマンドプロンプトで表示する時に文字の色を変えられますか?
コマンドプロンプトで文字を表示する時・・ 例 printf("あいうえお"); だと、コマンドプロンプトの背景は黒で表示される文字「あいうえお」は白になります。 この「あいうえお」を青色にしたり、緑色にしたりすることは可能でしょうか?
- ベストアンサー
- C・C++・C#
- Hypocrite_k
- 回答数4
- vc++が開きません。
こんにちわ。 いまvc++6.0で開発していますが, あるプロジェクトファイルを開こうとすると, 昨日まで開けていたのに, 開けなくなりました。 「問題が発生したため、msdev.exe を終了します。 ご不便をおかけして申し訳ありません。」というメッセージが出てしまいます。 どうすれば復旧できるでしょうか? 教えてください。 よろしくお願いします。
- IEコンポーネント(CWebBrowser2)を編集モードにする方法(VC++6.0)
MFCAppウィザードで作ったSDIのプログラムで IEコンポーネント(CWebBrowser2)をフォームに表示し それを編集モードにしたいと思っています。 リソースエディタでフォームにコントロールを貼り付けています。 http://www.nitoyon.com/vc/tips/ie_component.htm こちらを参考に、IWebBrowser2のポインタを取得し そこからIHTMLDocument2を取ってデザインモードに したいのですが、うまくIWebBrowser2のポインタを 取得することが出来ません。 CWnd* pIE = (CWnd *)GetDlgItem(IDC_EXPLORER1); if (pIE == NULL) return; // コントロールのハンドルを得る HWND hWnd = pIE->GetSafeHwnd(); // 使えるかどうかチェック if (hWnd != NULL && ::IsWindow(hWnd) != 0) { CComPtr<IUnknown> punkIE; if (AtlAxGetControl(hWnd, &punkIE) == S_OK){//ここで失敗する CComQIPtr<IWebBrowser2> pWB2 = punkIE; if(pWB2 != NULL){ CComPtr<IDispatch> pDisp ; pWB2->get_Document( &pDisp) ; CComQIPtr<IHTMLDocument2> pDoc = pDisp ; pDoc->put_designMode(L"On"); } } }
- シェルソートの計算量
nから降順で並べたソートをシェルソートで並び替える場合、計算量はどうなるのかを求めるプログラム(C言語)を教えてください。
- DIRECTXで質問です。
お世話になります。 VC++6.0とDIRECTX9.0cを使ってゲームを作ろうとしています。 参考にと思い、MSDNサイトののDirectX によるゲームプログラミング入門の第1章3D ゲームプログラムの基礎をやることにしました。 そのサイトのサンプルプログラムをダウンロードし、VC++6.0でビルドをした後、デバッグを開始すると実行中に 「ハンドルされていない例外は○○.EXEにあります・・・」とエラーが発生しました。 しかし、ビルド後実行ファイルを単体で動かしてもエラーがでません。 調べてみると、LPD3DXBUFFERオブジェクトをリリースする時にエラーが発生しています。 LPD3DXBUFFER lpD3DBuf; HRESULT hres; hres = D3DXLoadMeshFromX( fn,D3DXMESH_SYSTEMMEM, lpD3DDevice,NULL, &lpD3DBuf, NULL, &m_nMaterials, &m_lpMesh); lpD3DBuf->Release(); ↑ これを実行したらエラー発生 何故このようなことが起こるのか、どうすればエラーが出ないのかわかりません。 皆さんのお知恵をお貸しください。 宜しくお願いします。
- オンラインゲームを開始できません(C++?
オンラインゲームをスタートさせようとすると以下のようなメッセージがだされました Microsoft Visual C++ Debug Library Program:C:\Program Files\NetClue\CorumOnline Corum Autopatch.exe Abnormal Program termination (Press Retry to debag the application) 中止 無視 再試行 この場合どのように対処すればいいのでしょうか?
- 順列の生成方
v[i]のi=2~N-1に 2~N-1の数字を入れたいのですが(3P3のような感じです)、具体的には 例えばN=5だと、 v[2]=2,v[3]=3,v[4]=4 v[2]=2,v[3]=4,v[4]=3 v[2]=3,v[3]=2,v[4]=4 v[2]=3,v[3]=4,v[4]=2 v[2]=4,v[3]=2,v[4]=3 v[2]=4,v[3]=3,v[4]=3 と、このように全部入れたいです。 さらに発展として、2~N-1の中から2つ選んで、代入するというような 3P2のようなものにしたいです。 N=5のとき、 2~4の中から2つを選んで v[2]=2,v[3]=3, v[2]=2,v[3]=4, v[2]=3,v[3]=2, v[2]=3,v[3]=4, v[2]=4,v[3]=2, v[2]=4,v[3]=3 と入力したいです。 どのようにしたらよいのでしょうか?
- 締切済み
- C・C++・C#
- noname#137025
- 回答数1
- 初心者です。C言語でクイズを作っています。
下のようなプログラムを作ってみたのですが、 コンパイルエラーがでます。 どうか教えて頂けないでしょうか? これは、コンパイルエラーの文です。 $ gcc -o quiz2.exe quiz2.c quiz2.c: In function `main': quiz2.c:10: `y' undeclared (first use in this function) quiz2.c:10: (Each undeclared identifier is reported only once quiz2.c:10: for each function it appears in.) quiz2.c:29: parse error before `}' quiz2.c:39: parse error before `}' quiz2.c:46: parse error at end of input そして、このようなソースを作りました。 #include <stdio.h> main() { char ans, ans3; int ans2; printf("クイズを出題します。 y/n -->"); ans = getchar(); if(ans==y) { printf("目*花*歯があるのに口がないのなに?"); printf("1:包丁 2:植物 3:ロボット"); scanf("%d",&ans2); if(ans2==2) { printf("正解"); } if(ans2==1||ans2==3) { printf("ハズレ もう一度する? y/n"); ans3 = getchar(); if(ans3==y) { return(1) } else { printf("ゲームを終了"); } } else { printf("半角数字の1~3を入力して"); return(1) } } else { printf("またチャレンジしてね"); } } /*尚、環境はcygwinのgccを使っています。*/ 文字数が足りないので、printfの中などは少し省いてあります。
- C言語の式を教えて頂きたいのですが
「Yahoo」と入力すると、 1.「oohaY」と、逆から表示 2.文字数=5と表示 3.「YAHOO」と大文字で表示 というプログラムは、それぞれどのように書いたらいいでしょう? char moji[9]; は使うそうですが、int、for、if、putchar、getchar、printf、scanfなど、まだ基礎の基礎を習っている段階の初心者なので、できるだけ簡単にお願いします。
- プログラムからTera Termに文字を入力するには?
初めて質問させていただきます。 Visual C++暦まだ2ヶ月の初心者が身の丈知らずかも知れない質問をすることをご容赦ください。 Tera Termを起動し、そこにmakeやCtrl-Cなどのキー入力情報を送るプログラムを作りたいと思っています。 具体的には、ダイアログベースのプログラムで、プッシュボタンをコマンド別にいくつか用意し、それらが押されると、Tera Termにキー入力があったと同じメッセージを送りたいのです。 例えば、[コンパイル]というボタンが押されたら、Tera Term上で"make"とキー入力したのと同じような処理をさせたいのです。 ここを含めいろいろなサイトを見て、起動まではなんとかできるようになりました。 ただ、起動したTera Termのハンドルの取得がうまくいかないのか、SendMessageでメッセージを送ろうとしても、::IsWindow(hWnd)というエラーが出て強制終了してしまいます。 ウィンドウにフォーカスを与えてkeybd_eventを用いると記述しているサイトもありましたが、フォーカスの与え方が分かりません……。 どなたか教えていただければ幸いです。お願いいたしますm(__)m
- 締切済み
- C・C++・C#
- VCbeginner
- 回答数3
- 自作インクルードファイル
こんにちわ。 いまVC++6.0で開発しようとしています。 自作のincludeファイルを作成し,親プログラムをコンパイルしようと しますが,そのincludeファイルが親プログラムと同じパスに あるときはコンパイルできますが, 別のフォルダに置くと, fatal error C1083: インクルード ファイルがオープンできません。 'XXXXXX.H': No such file or directory cl.exe の実行エラー と出てしまいます。 そこで[設定]の"インクルードファイルのパス"の箇所を 自作インクルードファイルがある場所に設定したのですが, やはり同じエラーメッセージが出ます。 どうすれば読めるようにできるのでしょうか? 教えてください。 よろしくお願いします。
- 文字列配列のほしい部分だけを抜き出して数値にする方法(PIC)
現在PICマイコンでPCからGPSの座標データを取得し,そのデータ列から必要な部分だけ抜き出す処理をくんでいるんですがうまくいきません。 pcとマイコンの接続はrs23-2c コンパイラはccsc pic:16f877 GPSデータ↓ @051125012151N3529558E13638533G009+00021E0000N0000D0003 このデータのN以降の「3529558」とE以降の「13638533」の文字列を数値にしたい。 delay_ms(300); output_b(0b00000001);//デバック用LED点灯 delay_ms(300); gets(mes); //ここでGPSデータをmesに代入する output_b(0b00000011); len_N=0; for(i=0;i<58;i++){ if(mes[i]=='N'){ len_N=i; break; } } printf("\r\n"); n=atoi(mes[len_N+1]); //ここで試しに一文字分だけ数値にする処理を行ったが処理が停止する。 printf("n:%ld",n); アドバイスお願いします