検索結果 145 件
- 4週間前
- フォーラム: C言語何でも質問掲示板
- トピック: マルチバイトの変換後出力がNULL
- 返信数: 16
- 閲覧数: 1903
Re: マルチバイトの変換後出力がNULL
初めてしったけどsprintfは継続して扱うのでははく一回、一回値を扱う関数なのかな? 継続して扱うと言えるのかどうか分かりませんが、続けて使うことはできます。 #include <stdio.h> void sum(int n, char *buf) { int s = 0; int t = 0; int i; for (i = 1; i < n; ++i) { t += i; s = sprintf(buf += s, "%d+", i); } t += i; sprintf(buf + s, "%d=%d", i, t); } int main(void) { char buff[10...
- 4ヶ月前
- フォーラム: C言語何でも質問掲示板
- トピック: c++ でコンパイルエラーを修正したい。
- 返信数: 4
- 閲覧数: 1547
Re: c++ でコンパイルエラーを修正したい。
一通り C++ を学習されたのでしたら、何故エラーになっているのは分かっているものと思います。 とりあえずエラーをなくすのであれば、次のようにすればいいかと思います。 //@@@ とコメントを付けているところが変更している箇所です。 #include <iostream> #include <map> #include <string> using namespace std; class FileObject; // この一行(前方参照)だけは、多数のコンパイルエラーを取る為に、私が追記した。 class DataObject { public: static DataObject *cre...
- 5ヶ月前
- フォーラム: C言語何でも質問掲示板
- トピック: Segmentation fault: 11の原因
- 返信数: 5
- 閲覧数: 1918
Re: Segmentation fault: 11の原因
全体をよく見てはいないのですが、おそらく // insert forground image into background. void chroma_key(ColorImage *fg, ColorImage *bg) { int i,j; int α=12, β=80, γ=50; //for(i=0;i<fg->width;i++){ for(i=0;i<fg->height;i++){ // for(j=0;j<fg->height;j++){ for(j=0;j<fg->width;j++){ if(fg->r[i][j]<=α && fg->g[i][j]>=β && fg->g...
- 9ヶ月前
- フォーラム: C言語何でも質問掲示板
- トピック: CreateFontToHandleのハンドルはグローバル関数で出来ない?
- 返信数: 2
- 閲覧数: 2179
- 10ヶ月前
- フォーラム: C言語何でも質問掲示板
- トピック: [Win32API] OpenClipboard 関数を複数回呼ぶと落ちてしまう
- 返信数: 2
- 閲覧数: 2504
- 11ヶ月前
- フォーラム: C言語何でも質問掲示板
- トピック: 外部プログラムのウィンドウのクライアント領域を移植
- 返信数: 2
- 閲覧数: 2664
Re: 外部プログラムのウィンドウのクライアント領域を移植
実装経験があるわけではなく単に思いつきですが、手軽な方法として WM_PRINT というメッセージがあります。
このメッセージを対象のウィンドウに送信すると、指定したデバイスコンテキストに描画してくれます。
リアルタイムに描画できるかどうか分りませんし、要求を満たすものかは分りませんが、対象のデバイスコンテキストを取得してビットマップをコピーするよりはいいかもしれません。
私の不確かな記憶では、他のウィンドウの後ろに隠れていても、描画してくれたと思います。
WM_PRINTメッセージを参考にしてください。
このメッセージを対象のウィンドウに送信すると、指定したデバイスコンテキストに描画してくれます。
リアルタイムに描画できるかどうか分りませんし、要求を満たすものかは分りませんが、対象のデバイスコンテキストを取得してビットマップをコピーするよりはいいかもしれません。
私の不確かな記憶では、他のウィンドウの後ろに隠れていても、描画してくれたと思います。
WM_PRINTメッセージを参考にしてください。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 【C言語】文字列リテラルのデータ型について
- 返信数: 1
- 閲覧数: 2965
Re: 【C言語】文字列リテラルのデータ型について
まず、これは C言語ではなく C++ ではないですか? C言語でこのエラーはでないはずです。 歴史的経緯もあって以前の規格 (C++98/C++03) では、char * を文字列リテラルで初期化するのは許容されていました。C++11 以降の規格では禁止されました。Visual Studio (VC) でもオプションなしではエラーになりません。 Visual Studio でプロジェクトを作成するとデフォルトで /permissive- オプションが設定され、エラーになります。 /permissive- オプションなしにすると過去のバージョンとの互換性を重視して、規格に厳密に準拠しなくなります...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C:動的確保の解放について
- 返信数: 2
- 閲覧数: 4800
Re: C:動的確保の解放について
まあ OS によるかもしれませんが、システム全体でのメモリリークはないと思っても良いです。 Windows や Unix系(Linux、Max OS を含む)では、プロセスが終了したらメモリは解放されますので、明示的に解放しないまま終了しても大丈夫です。 細かいこと言い出すと Windows で例えば、クリップボードに大きなデータをコピーしたままプログラムを終了してもそのまま残っているとかはありますが、ローカルヒープ(malloc などで確保したエリア)に関してはプロセスが終了すれば解放されますので、余り気にする必要はないです。 当然なことながらプロセスが終了しない限りはメモリが自動的に解放さ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: visualC++のダウンロードについて
- 返信数: 2
- 閲覧数: 5628
Re: visualC++のダウンロードについて
Windows SDK は基本的に互換性があるので、最新のものを入れておけば問題ないです。 まれに不具合のあるバージョンもあったりするのですが、現在のものに致命的なバグがあるという話は聞いていません。 Windows 10 SKD (10.0.18362.0) が最新なので、これをダウンロードすればいいです。 ただし、過去に作られたプロジェクトでは古い Windows SDK バージョンを指定しているものもあるので、その点は注意しなければなりません。 DX ライブラリのサンプルプロジェクトで、Windows SDK バージョンが古い場合は、プロジェクトのプロパティで Windows SDK バ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字化けについて
- 返信数: 12
- 閲覧数: 5272
Re: 文字化けについて
台風の影響もあって、暫くネットにつなぐことができませんでした。 返信が遅くなり申し訳ありません。 以前も書いたと思うのですが、ソースファイル (.c/cpp) の文字コードと実行ファイル (.exe) の文字コード(エンコード)は別です。 ソースコードを UTF-8 で書いて、Shift_JIS の実行ファイルを作成することも、逆に Shift_JIS で ソースコードを書いて UTF-8 の実行ファイルを作ることも可能です。 コンパイラーの内部の構造について詳細に把握しているわけではありませんが、おそらくソースコードを一旦内部コード(おそらく UTF-16)に変換して処理しているものと推測...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字化けについて
- 返信数: 12
- 閲覧数: 5272
Re: 文字化けについて
デバッグコンソールの件は了解しました。Visual Studio のデバッガーから起動したとしてもコンソールには変わりはないので、それによって何かが変わることはないと思います。 コンソールのデフォルトのコードページは cp932 でこれを変更する方法ちょっとわかりません。コマンドラインで実行する場合はコードページを変更してから実行すればいいんですが、Visual Studio から実行したり、エクスプローラーから実行する場合はコードページは cp932 のままであろうと思われます。 UTF-8 の文字列を表示したかったら、ちょっと面倒ですがプログラム内部で表示する前にコードページを cp650...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Boostについて教えてください
- 返信数: 5
- 閲覧数: 5639
Re: Boostについて教えてください
msvc-14.0用にコンパイルして.exeをビルドするときに10.0用のライブラリを求められて ビルドに失敗した場合にはVisual Studio 2015で作成するプログラムのプロジェクトを作れば 良かったということでしょうか? msvc-140 でライブラリを作成したのなら、Visual Studio 2015 で .exe をビルドすれば、リンクでエラーになることはなかったと思われます。 あと、Boostライブラリで date_time, regex, thread, python, signals, test, filesystem, serialization, program_...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字化けについて
- 返信数: 12
- 閲覧数: 5272
Re: 文字化けについて
① 個人的にですが、Windows プログラムの文字コードは Unicode に統一する (wchar_tを使用する) のがいいじゃないかと思います。 ファイル入出力などで必要があれば、マルチバイト文字に変換する。そうすれば内部の処理がやりやすいのではないかと考えています。 ② デバッグコンソールとは何でしょうか? コマンドプロンプトのことだと思って解答をしてきましたが、もし別のものだとすると私の回答は意味のないものになります。 printf 関数を使っているので、Windows デスクトップのコンソールアプリケーションを想定して回答しています。 まず確認なんですが、Visual Studio...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Boostについて教えてください
- 返信数: 5
- 閲覧数: 5639
Re: Boostについて教えてください
ちょっと説明不足だったので補足します。 toolset で指定するのは Visual C++ のバージョンです。 Visual Studio の製品名と Visual C++ のバージョンが一致しないので混乱しますが、以下のようになっています。(括弧の中は Visual Stduio のバージョンです。) VC++ 製品名 10.0 : Visual Studio 2010 (10.0) 11.0 : Visual Studio 2012 (11.0) 12.0 : Visual Studio 2013 (12.0) 14.0 : Visual Studio 2015 (14.0) 14.1 ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Boostについて教えてください
- 返信数: 5
- 閲覧数: 5639
Re: Boostについて教えてください
Boost に限りませんが、.lib をビルドするときと .exe をビルドするときは、原則としてコンパイラのバージョンを合わせる必要があります。 ライブラリをビルドするときに指定した toolset(=コンパイラ)で msvc-14.0 を指定したと言うことは、Visual C++ 14.0 (Visual Studio 2015) 向けのライブラリをつくるということです。 .exe をビルドするときに vc100 を要求されたと言うことは、Visual C++ 10.0 (Visual Studio 2010) でビルドしたものと思われます。 toolset=msvc-10.0 でライブラ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字化けについて
- 返信数: 12
- 閲覧数: 5272
Re: 文字化けについて
最初にお断りしておきますが、私は Lua については全く知りません。 Windows の一般的な文字コードについての概要についてだけですが、多少なりとも参考になれば幸いです。 ① Windows の内部コードは UTF-16 ですので、UTF-16 がネイティブな文字コードと言えます。 例えば、ウィンドウ(正確にはデバイスコンテキスト)に文字を描画するときに TextOut を、コンソールに文字を表示するときには WriteConsole という API を使用しますが、それぞれワイド文字 (Unicode) とマルチバイト文字 (Shift_Jis) の関数が用意されています。これは Vis...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 追加するヘッダーファイルが見つからない
- 返信数: 3
- 閲覧数: 5930
Re: 追加するヘッダーファイルが見つからない
入れているのは Visual Studio 2019 Express です。 インストールオプションは、デスクトップ開発、ゲーム開発 です。 2017からMFCがExpressからはずされたとの記事があり、 探している afxinet.h はMFCの中にあるとの記事もありました。 "afx何チャラ.h" というヘッダーファイルは MFC 関連のヘッダーファイルです。 そして Express は昔(Visual C++ 2005)から MFC はサポートしていません。 Visual Studio Community 2019 をお使いください。 企業で Community を使うのはいろいろ制...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: キャラクタの画像をゲーム画面に表示させたい
- 返信数: 2
- 閲覧数: 5500
Re: キャラクタの画像をゲーム画面に表示させたい
キャラクタ画像が表示されない理由ですが、ScreenFlip 関数の前に何も描画されていないので何も表示されません。 また SetDrawScreen(DX_SCREEN_BACK) なので、DrawGraph 関数で裏画面に描画されますが、そのあとにすぐ WaitKey 関数でキー入力待ちになるので、やはり表示はされません。 さらにキー入力があった後で DxLib_End 関数が呼ばれ、すぐに return するのでプログラムはそのまま終了します。 直し方はいろいろありますが、キャラクタ画像を表示するだけなら以下のようすればできます。 int WINAPI WinMain(HINSTANCE...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: デバッグ描画の最下層のDrawを知りたいです
- 返信数: 1
- 閲覧数: 4221
Re: デバッグ描画の最下層のDrawを知りたいです
ソースレベルで追えないようならば、機械語レベルで追うしかないかもしれません。
Visual Studio のデバッガーでもある程度できかもしれませんが、WinDbg という無茶苦茶強力なデバッガーがあります。
こちらからダウンロードできます。
Visual Studio のデバッガーでもある程度できかもしれませんが、WinDbg という無茶苦茶強力なデバッガーがあります。
こちらからダウンロードできます。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: mac gccの使用者
- 返信数: 2
- 閲覧数: 4780
Re: mac gccの使用者
私は mac を使ったことはないのですが、聞いた話によると Visual Studio for mac では C/C++ の開発はできないようです。
全く門外漢ですが、mac での C/C++ の開発は xcode が定番のようです。最近は Visual Studio Code の話もよく聞きますので、VS Code でも C/C++ の開発はできるようです。
余談ですが、Visual Studio と Visual Studio Code (VS Code) は全く別物です。
全く門外漢ですが、mac での C/C++ の開発は xcode が定番のようです。最近は Visual Studio Code の話もよく聞きますので、VS Code でも C/C++ の開発はできるようです。
余談ですが、Visual Studio と Visual Studio Code (VS Code) は全く別物です。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 多次元配列と演算子
- 返信数: 2
- 閲覧数: 4457
Re: 多次元配列と演算子
char minoShapes[MINO_TYPE_MAX][MINO_ANGLE_MAX][MINO_HEIGHT][MINO_WIDTH] ={} このソースコードはおそらく4次元配列だとおもうんですが、ネットのどのサイトでも3次元配列までしか記述されていなく、(3次元配列は、縦方向(Y方向)と横方向(X方向)と奥方向(Z方向)にデータの広がりがあります。)と記述されていたのですが、4次元配列はどのようになるのでしょうか? テトリスは平面つまり二次元ですから、ミノ(テトリミノ)のシェイプ(形状)としては、二次元配列ですみます。 しかし、ミノは七種類のタイプ(O, S, Z, J, L, ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Windows7
- 返信数: 15
- 閲覧数: 3374
Re: Windows7
Windows7 を使っています。
サポートが切れたらどうするか正直決めかねていますが、そのまま使用することも考えています。(インターネットには極力接続しない前提で)
Windows 10 へのアップグレードはメーカーが保証しないので早々に断念しました。
もともと Windows 8 のダウングレードなので Windows 8.1 をインストールして延命を図ろうかとも思いましたが、テスト環境として Windows 7 (32bit) を残したい思いもあり、現在ではそのまま使用するに気持ちが傾いています。
サポートが切れたらどうするか正直決めかねていますが、そのまま使用することも考えています。(インターネットには極力接続しない前提で)
Windows 10 へのアップグレードはメーカーが保証しないので早々に断念しました。
もともと Windows 8 のダウングレードなので Windows 8.1 をインストールして延命を図ろうかとも思いましたが、テスト環境として Windows 7 (32bit) を残したい思いもあり、現在ではそのまま使用するに気持ちが傾いています。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++の型について
- 返信数: 2
- 閲覧数: 1139
Re: C++の型について
Direc2D も XAudio2 も全く詳しくはないので、C++ と Visual Studio に関することだけ。 (C++ と Visual Studio に精通しているわけではないですが) C++ では文字列リテラルの型は const char[] です。 C++98/03 では諸般の事情で、char * への代入が許容されていましたが、C++11 以降ではエラーになります。とはいえ、処理系によってはデフォルトの動作としてはエラーにしない場合もあります。 Visual C++ でもデフォルト(コンパイルオプションなし)ではエラーは出ないようですが、/permissive- オプションを...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: putchar()関数について質問します。
- 返信数: 6
- 閲覧数: 2474
Re: putchar()関数について質問します。
修理中だった PC (Windows 10 Home 64bit Version 1809) が返ってきたので、今更ですが実験してみました。 以下のコンパイラーで #1 のプログラムをコンパイル実行しました。 GCC gcc (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0 BCC32 Embarcadero C++ 7.30 for Win32 Copyright (c) 2012-2017 Embarcadero Technologies, Inc. Embarcadero Technologies Inc. bcc32c ...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: [雑談]Visual Studio 2019 正式版公開
- 返信数: 3
- 閲覧数: 1514
Re: [雑談]Visual Studio 2019 正式版公開
先日 (4/15) やっとインストールしました。と言ってもデスクトップ開発だけなんですけど。 Visual Studio 2017 がインストールされているためか、ダウンロードしたファイルはそれほど多くなかったです。(1.3 GB程度) 最初にインストーラーでワークロードを選択したときは 5GB以上必要となっていたので、時間がかかることを覚悟したのですが、実際にインストールが始まってみれば一時間もかからずに終わりました。 Windows SDK とか、.NET Framework は 2017 と共通みたいです。 細かい違いはありますが、全体の印象は 2017 と変わらないですね。 以前に作成...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: sprintf + utf8 + "取得" でアサーションエラー
- 返信数: 3
- 閲覧数: 1363
Re: sprintf + utf8 + "取得" でアサーションエラー
ソースファイル (corecrt_internal_stdio_output.h) を詳細に読んだわけでないのですが、ロケールよっては?、printf 系の関数は書式文字列の整合性をチェックするようです。
u8"取得"のバイト列を Shift_JIS として解釈すると E58F(蜿) 96E5(門) BE(セ) 97 00 となります、97 はマルチバイト文字の1バイト目ですが、次が null 文字であるためエラーになっているようです。
u8"取得"のバイト列を Shift_JIS として解釈すると E58F(蜿) 96E5(門) BE(セ) 97 00 となります、97 はマルチバイト文字の1バイト目ですが、次が null 文字であるためエラーになっているようです。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: Visual studioについて
- 返信数: 5
- 閲覧数: 1391
Re: Visual studioについて
Windows.h は Windows SDK の一部ですが、Visual Studio 2015 から C言語の標準ライブラリーも Windows SDK の一部になったので、C++ によるデスクトップ開発をインストールしていれば一緒に Windows SDK もインストールされ、Windows.h も入っているはずです。意図的に Windows SDK をはずせば別ですが、デフォルトではインストールされたと思います。Visual Studio Installer で確認できますので、インストールされていないようでしたら、インストールすればいいと思います。 Windows10 のバージョンア...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 動作確認のお願い
- 返信数: 5
- 閲覧数: 1671
Re: 動作確認のお願い
#2 に追加ですが、ランタイムライブラリーが必要ですね。
Microsoft Visual C++ 再頒布可能パッケージ
これをインストールするようにご友人にお伝えください。
または、スタティックリンクするようにプロジェクトを変更すれば、ランタイムライブラリのインストールは必要なくなります。
Microsoft Visual C++ 再頒布可能パッケージ
これをインストールするようにご友人にお伝えください。
または、スタティックリンクするようにプロジェクトを変更すれば、ランタイムライブラリのインストールは必要なくなります。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 動作確認のお願い
- 返信数: 5
- 閲覧数: 1671
Re: 動作確認のお願い
実行はしていないのですが、デバッグモードでビルドされているようです。
リリースモードでビルドすれば、開発環境以外でも動くようになるのではないでしょうか。
それと、できたプログラムを配布するときは、リリースモードでもデバッグできないようにプロジェクトのプロパティーを変更した方がいいですよ。
リリースモードでビルドすれば、開発環境以外でも動くようになるのではないでしょうか。
それと、できたプログラムを配布するときは、リリースモードでもデバッグできないようにプロジェクトのプロパティーを変更した方がいいですよ。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: Visual Studio C言語の質問
- 返信数: 9
- 閲覧数: 1779
Re: Visual Studio C言語の質問
古い記憶ですが、コンソールアプリケーションで IME の制御はできなかったような。
“C++ IME 制御” などと検索すると、いろいろサンプルプログラムも出てきますが、コンソールアプリケーションのものは見付からないので、できないのかもしれません。
“C++ IME 制御” などと検索すると、いろいろサンプルプログラムも出てきますが、コンソールアプリケーションのものは見付からないので、できないのかもしれません。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: mingw64でのDxlib使用法
- 返信数: 6
- 閲覧数: 2475
Re: mingw64でのDxlib使用法
私自身 mingw64 で DXライブラリを使用していないのですが、もしかして指定するライブラリが足らないのでは?
-ltiff とか -lopusfile とか。
参考
Gnu C++ (MinGW)によるDXライブラリの使い方
-ltiff とか -lopusfile とか。
参考
Gnu C++ (MinGW)によるDXライブラリの使い方
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: OSのビット数を調べたいのですが・・・
- 返信数: 4
- 閲覧数: 1761
Re: OSのビット数を調べたいのですが・・・
追記します。
こちらの環境は
Windows 7 Pro (32bit) Visual Studio 2015
Windows 8.1 Pro (64bit) Visual Studio 2017
.NET Framework は 4.5 です。
こちらの環境は
Windows 7 Pro (32bit) Visual Studio 2015
Windows 8.1 Pro (64bit) Visual Studio 2017
.NET Framework は 4.5 です。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: OSのビット数を調べたいのですが・・・
- 返信数: 4
- 閲覧数: 1761
Re: OSのビット数を調べたいのですが・・・
回答になってなくて申し訳ないですが、下の画像は Visual Studio でオブジェクト ブラウザーを開いているスクリーンショットです。 System.Environment.Is64BitOperatingSystem は mscorlib に含まれるようですので、特別な Imports などは必要ないと思われます。 Module Module1 Sub Main() If Environment.Is64BitOperatingSystem Then Console.WriteLine("64Bit OS です") Else Console.WriteLine("64Bit OS ではあ...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドライン引数を用いたファイルコピーについて
- 返信数: 2
- 閲覧数: 912
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: wordのように
- 返信数: 7
- 閲覧数: 1900
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: Win32のCSV読み取りで文字化けする理由が分かりません
- 返信数: 31
- 閲覧数: 8661
Re: Win32のCSV読み取りで文字化けする理由が分かりません
Visual Studio のプロジェクトには“Unicode 文字セットを使用する”と“マルチ バイト文字セットを使用する”があります。 プロジェクトのプロパティーの[全般]→[文字セット]で設定できます。 “Unicode”にすると、プリプロセッサで "UNICODE" が定義され、“マルチ バイト”にすると、プリプロセッサで "_MBCS" が定義されます。 詳細は 今さら聞けない、教えてもらえない!! Unicode /マルチバイト文字対応 国際化VC ++ プログラミングの基礎!! などを参照してください。 その他に大事なこととして、Win API の関数が切り替わるということです。...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語:ポインタとメモリ空間
- 返信数: 5
- 閲覧数: 2528
Re: C言語:ポインタとメモリ空間
Visual C++ 2010 のコンパイラーは古いですからね。最近の物 (Visual Studio 2017) でしたら、そのままでもコンパイルエラーは出ないです。VC 2010 は規格としては古い (所謂 C89) ですが、最近の物は C11 をある程度サポートしていています。
特に理由がなければ、最新の物がいいと思います。
2017 では出ないとも言われましたが、Express Edition もあるようなので。
特に理由がなければ、最新の物がいいと思います。
2017 では出ないとも言われましたが、Express Edition もあるようなので。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: WinMainに赤線がひかれるのはなぜですか?
- 返信数: 3
- 閲覧数: 1117
Re: WinMainに赤線がひかれるのはなぜですか?
"Windows SDK バージョン" が合っていない可能性があります。
プロジェクトの "Windows SDK バージョン" はたぶん 10.0.15063.0 だと思いますが、最近 Visual Studio をインストールしたとすると、そのバージョンはインストールされていない可能性があります。
プロジェクトのプロパティ[全般]→[Windows SDK バージョン]で適当なものを選択してください。
あるいは、プロジェクトを右クリックして、"プロジェクトの再ターゲット"を実行してください。
プロジェクトの "Windows SDK バージョン" はたぶん 10.0.15063.0 だと思いますが、最近 Visual Studio をインストールしたとすると、そのバージョンはインストールされていない可能性があります。
プロジェクトのプロパティ[全般]→[Windows SDK バージョン]で適当なものを選択してください。
あるいは、プロジェクトを右クリックして、"プロジェクトの再ターゲット"を実行してください。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] mapの要素(pair?)の[a,b]表記
- 返信数: 2
- 閲覧数: 1082
Re: [c++] mapの要素(pair?)の[a,b]表記
そのページに書かれているように C++17 で追加された、 構造化束縛ですね。
g++ 6.3.0 ではどうかわかりませんが、g++ 7.3.0 ではコンパイルできました。
ただし、-std=c++17 のオプションが必要になります。
g++ 6.3.0 ではどうかわかりませんが、g++ 7.3.0 ではコンパイルできました。
ただし、-std=c++17 のオプションが必要になります。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXライブラリの導入
- 返信数: 4
- 閲覧数: 1529
Re: DXライブラリの導入
ビルドに失敗しているのではないでしょうか?
もし、何らかのエラーが出ているようでしたら、それを教えてください。
GameProg は特に設定しなくとも、ビルド/実行できるはずですが、"Windows SDK のバージョン"には注意して下さい。Visual Studio をインストールするときに、指定した Windows SDK のバージョンと一致いていないと、ビルドに失敗します。"新・C言語~ゲームプログラミングの館" では Windows 8.1 SDK をダウンロードするように、設定しているので、プロジェクトも 8.1 を指定すれば間違いないです。
もし、何らかのエラーが出ているようでしたら、それを教えてください。
GameProg は特に設定しなくとも、ビルド/実行できるはずですが、"Windows SDK のバージョン"には注意して下さい。Visual Studio をインストールするときに、指定した Windows SDK のバージョンと一致いていないと、ビルドに失敗します。"新・C言語~ゲームプログラミングの館" では Windows 8.1 SDK をダウンロードするように、設定しているので、プロジェクトも 8.1 を指定すれば間違いないです。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 デバック時のブレークポイントの出現理由が分からない
- 返信数: 7
- 閲覧数: 2817
Re: C言語 デバック時のブレークポイントの出現理由が分からない
また,以下の様な忠告が出ました. //////////////////////// Debug Assertion Failed Program: ディレクトリ¥Project1.exe File: minkernel¥crts¥ucrt¥scr¥appcrt¥stdio¥fread.cpp Line: 48 Expressin: stream!=nullptr For information on how your program can cause an assertion failure, see the Visual C++ documentation asserts. (Press...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 デバック時のブレークポイントの出現理由が分からない
- 返信数: 7
- 閲覧数: 2817
Re: C言語 デバック時のブレークポイントの出現理由が分からない
エラーの原因かどうかは分かりませんが、このプログラムにはいくつかの問題があります。
1. fpen_s() でエラーチェックしていない。
"sample.bmp" が存在しない場合、fread() でエラーが発生します。
2. 画素情報として 512×512 固定の配列を用意していますが、それ以上の大きさの bmp ファイルを読込んだ場合、配列の大きさを越えて読込んでしまう。
3. 24bit カラーのみを対象としているが、チェックをしていない。
4. 1ラインのデータが 4 の倍数以外の場合を考慮していない。
5. 画素情報を、縦を先に読込んでいるが、bmp は1ラインごとに保存されている。
1. fpen_s() でエラーチェックしていない。
"sample.bmp" が存在しない場合、fread() でエラーが発生します。
2. 画素情報として 512×512 固定の配列を用意していますが、それ以上の大きさの bmp ファイルを読込んだ場合、配列の大きさを越えて読込んでしまう。
3. 24bit カラーのみを対象としているが、チェックをしていない。
4. 1ラインのデータが 4 の倍数以外の場合を考慮していない。
5. 画素情報を、縦を先に読込んでいるが、bmp は1ラインごとに保存されている。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: Win32APIのTextOutで変数を表示する方法が分かりません
- 返信数: 13
- 閲覧数: 3704
Re: Win32APIのTextOutで変数を表示する方法が分かりません
とりあえず "error C4996" で検索してみましょう。いろいろ対策があります。 プロジェクトのプロパティーで、SDL チェックをいいえ (/sdl-) にすると、エラーではなく警告 (warning)になります。 プロプロセッサの定義に _CRT_SECURE_NO_WARNINGS を追加すれば、警告も出なくなります。 _stprintf_s() 関数、または _sntprintf_s() 関数を使う方法もありますが、それぞれ _stprintf() 関数とはパラメーターが異なりますので、注意して下さい。 個人的には、例外を回避しやすい _sntprintf_s() 関数の方が好きです。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語のコンパイルエラーについて
- 返信数: 3
- 閲覧数: 1328
Re: C言語のコンパイルエラーについて
こんにちは。以下のソースコードでgccでコンパイルしたときに highscore.c:42: error: expected ‘)’ before ‘*’ tokenという エラーが出ます。()や,がおかしいというのは想像がつくのですが 42行目には特におかしいところが見つけられませんでした。 よろしくお願いします。 エラーの原因は分かりませんが、このプログラムは "}" が足りないようです。 私の環境では "ncurses.h" がないのでコンパイルはできないのですが、 int getTU(POSITION *player,POSITION *treasure,int *numTreasu...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: vector配列を使って単語の長さ順にソートする
- 返信数: 9
- 閲覧数: 2634
Re: vector配列を使って単語の長さ順にソートする
の「const std::string &str1, const std::string &str2」の意味を教えていただけませんか const な (変更出来ない) std::string 型の参照 str1 と str2 です。 関数の引数を参照にすると、関数内部での変更が呼び出し元に反映されます。 precede() 関数では str1 と str2 は変更されないし、変更されては困ります。 const はつけてもつけなくても、処理に変わりはありませんが、関数内で変更出来ないようにするとともに、関数の利用者に対しても変更しないことを、表明しています。 bool precede(std:...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: vector配列を使って単語の長さ順にソートする
- 返信数: 9
- 閲覧数: 2634
Re: vector配列を使って単語の長さ順にソートする
反復子を使うのかな,と思い, std::vector<char>::iterator p= vector.begin(); と書くと「vector.begin()」の「vector」に赤波線が引かれてエラーが出ます. イテレーターの書き方が間違えていますね。 std::vector<std::string>::iterator p = vector.begin(); とすべきでしょう。 または、C++11 以降なら auto p = vector.begin(); でもいいですが、p は使われていないようです。 bool precede(); も変ですね。 文字列の長さを比較するのに、肝心の...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: MFCで描画
- 返信数: 3
- 閲覧数: 2873
Re: MFCで描画
バイナリデータの意味するところは私には分かりませんが、16Bit のビットマップデータなのでしょうか。 正しくビットマップが出来ていれば、BitBlt でエラーになることはないと思いますが、ビットマップはどのように作成していますか? CBitmap を作成して、CImge に Attach するのは間違ってはいませんが、CImage でもビットマップは作成できます。 例えば以下のサンプルでは、100×100 の 16Bit ビットマップを作成して、データを直接書込んでいます。 CImage image; image.Create(100, 100, 16); HBITMAP bmp = (HB...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: MFCで描画
- 返信数: 3
- 閲覧数: 2873
Re: MFCで描画
CImage はイメージデータを管理するクラスで、BMP、GIF、JPEG、PNG を扱えます。内部で DIB を保持していますので、それ以外の形式でも DIB に変換できるのであれば、CImage を使用してピクチャーボックスに表示できます。
送られてくる画像データが何であるかが一番大切ですね。
送られてくる画像データが何であるかが一番大切ですね。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: クイックソートについて
- 返信数: 2
- 閲覧数: 1935
Re: クイックソートについて
データ量が多いということもありますが、クリックソートの再帰呼び出しでスタックオーバーフローが起こっているようです。 対症療法的にはスタックを増やせばいいと思います。お使いのコンパイラーによって違いますが、VC++ ならばプロジェクトのプロパティーでリンカーのオプションで設定できます。 根本的に見直すならば、クイックソート関数で、ピボットの選び方を変えればいいと思います。 ご提示のソースでは配列の左端をピボットにしていますが、データが降順であると最悪ケースになってしまっているようです。そのため再帰呼び出しが深くなりスタックを食い潰しているようです。クイックソートではピボットの選び方は重要ですが、...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 間接参照のレベルが異なっていてエラーが出ました。。わかる方助けてください!!
- 返信数: 2
- 閲覧数: 4179
Re: 間接参照のレベルが異なっていてエラーが出ました。。わかる方助けてください!!
fopen_s() の返却値は errno_t です。 警告メッセージの通り型が違います。 このままでは、fp を上書きしてしまうのでダメですね。 以下のようにすればいいと思います。 #include <stdio.h> #include <string.h> main() { FILE *fp; // FILE型構造体 char fname[] = "test.dat"; int Index = 0; /* ファイルのオープン */ //fp = fopen_s(&fp, fname, "r"); errno_t err = fopen_s(&fp, fname, "r"); //fopen...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイトルバーの制御
- 返信数: 7
- 閲覧数: 5338
Re: タイトルバーの制御
あらかじめお断りします。以前に書いたことやこれから書くとは私が独自で調査したものあるいは、想像で書いているもので、必ずしも正しいとは限りません。 その点、ご承知置きください。 まず訂正からになってしまってすいません。 chromeは各タブがウィンドウだったのですね。知りませんでした。 これは違いました。タブの部分を含めて子ウインドウだと思っていたのですが、親ウインドウ(フレーム)に書かれていました。タブのクリックで表示するページが切り替わりますが、これらは Windows のタブコントロールといったものは使ってないようです。自前でやっているのでしょうが、具体的な方法はわかりません。 タブの部部...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイトルバーの制御
- 返信数: 7
- 閲覧数: 5338
Re: タイトルバーの制御
あまり詳しくないのですが、回答がないようなので概要だけ。 タイトルバーなどの非クライアントエリアを描画するためには、幾つか方法があるようです。 GetWindowDC() 関数で取得したデバイスコンテキストは、ウィンドウ全体に描画出来ます。 WM_NCPAINT をハンドルして、描画する方法もあります。Windows 標準でないデザインにするので、「自分でゴリゴリ描画」するしかないですね。 Chrome は全体の枠(フレーム)がひとつのウィンドウで、各タブも一つ一つがウィンドウです。 Chrome が使用しているかどうかは分かりませんが、矩形以外のウインドウはリージョンを設定すれば出来ます。 ...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: VC++ ビルド後の実行ファイル (exe) について
- 返信数: 3
- 閲覧数: 2143
Re: VC++ ビルド後の実行ファイル (exe) について
ランタイムライブラリを使用しないようなビルド方法はあります。
すべてに通用する方法ではありませんが、例えば Visual Studio でネイティブなプログラムならば、プロジェクトのプロパティでランタイムライブラリの項目を【マルチスレッド (/MT)】にすればいいです。
boost もスタティックリンクするライブラリを使用すれば、とくにランタイムライブラリを必要とはしないです。
boost のライブラリはビルドするときに DLL を使用するかスタティックライブラリを使用するか選べます。
すべてに通用する方法ではありませんが、例えば Visual Studio でネイティブなプログラムならば、プロジェクトのプロパティでランタイムライブラリの項目を【マルチスレッド (/MT)】にすればいいです。
boost もスタティックリンクするライブラリを使用すれば、とくにランタイムライブラリを必要とはしないです。
boost のライブラリはビルドするときに DLL を使用するかスタティックライブラリを使用するか選べます。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 標準入力に対するエラー処理について
- 返信数: 4
- 閲覧数: 2685
Re: 標準入力に対するエラー処理について
bad() は ios_base::badbit が設定されていると true を返します。 fail() との違いを確認するために入れたのであって、このプログラムでは 特に必要なかったかもしれないですね。 badbit はストリームに不整合があって場合に、セットされるのですが、 コンソール(キーボード)やディスクファイルから読込んでいる限り、 あまりエラーになることはないかもしれません。 ignore() は入力ストリームを読み捨てます。例えば数字以外("abcd"など)を 入力した場合 fail() が true になりますが、入力された文字列はそのまま ストリームに残ったままです。間違っ...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 標準入力に対するエラー処理について
- 返信数: 4
- 閲覧数: 2685
Re: 標準入力に対するエラー処理について
#include <iostream> int main(void) { using std::cin; using std::cout; using std::cerr; int num; for (;;) { cout << "Input :"; cin >> num; if (cin.fail()) { if (cin.bad()) break; if (cin.eof()) break; cerr << "Input Error\n"; cin.clear(); cin.ignore(INT_MAX, '\n'); } else { cout << "Number:" << num ...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 整数商, 余り
- 返信数: 7
- 閲覧数: 8665
Re: 整数商, 余り
筆算で割り算をするときに、「何回引き算が出来るか」で行うことは通常はありません。 しかし、割り算を禁止と言われれば一番最初に思いついたのがそれです。同時に余りも求まりますし。 例えば、50÷8 を計算するときほぼ暗算で 6 あまり 2 と出ますが、50から8を引いてもたいした手間ではありません。もちろん桁数が大きくなると大変ですが、小さい桁で出来れば桁が大きくなってても、手順は同じです。 「割り算は引き算の繰り返しで出来る」と授業で教わったかどうかはすでに記憶があやふやで、 定かではないのですが、一般常識として理解していました。 ビットシフトで割り算が出来るのは、プログラミングを勉強し始めてか...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: オープンハッシュのプログラム作成について
- 返信数: 2
- 閲覧数: 2354
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 整数商, 余り
- 返信数: 7
- 閲覧数: 8665
Re: 整数商, 余り
これはプログラムの問題と言うよりは、算数の問題ですね。
これをプログラムでは無く、手作業ですることは出来ると思います。
その手順を詳細に書き出して、それをプログラムにすればできあがりです。
これをプログラムでは無く、手作業ですることは出来ると思います。
その手順を詳細に書き出して、それをプログラムにすればできあがりです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体配列をポインタ変数から間接参照したい
- 返信数: 4
- 閲覧数: 2249
Re: 構造体配列をポインタ変数から間接参照したい
解決して何よりですが、このままでは pt を使う意味が無いですね。 次のようにすれば意味が出てくるでしょう。 #include <stdio.h> typedef struct student { int id; char name[20]; }STUDENT; int main(void) { STUDENT st[10]; STUDENT *pt; FILE * fp = fopen("list.txt", "r"); for (pt = st; fscanf(fp, "%d %s", &pt->id, pt->name) != EOF; pt++) { printf("%d %s\n",...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体配列をポインタ変数から間接参照したい
- 返信数: 4
- 閲覧数: 2249
Re: 構造体配列をポインタ変数から間接参照したい
#include <stdio.h> typedef struct student { int id; char name[20]; }STUDENT; int main(void) { int i; STUDENT st[10]; STUDENT * pt = &st[0]; FILE * fp = fopen("list.txt", "r"); for (i = 0; fscanf(fp, "%d %s", &(*(pt + i)).id, &(*(pt + i)).name) != EOF; i++) { printf("%d %s\n", (*(pt + i)).id, (*(pt ...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: std::stackの末尾要素のdeleteについて
- 返信数: 2
- 閲覧数: 1762
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイルの文字を配列に格納したい
- 返信数: 1
- 閲覧数: 1300
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラーE0144 エンティティの初期化
- 返信数: 2
- 閲覧数: 7588
Re: エラーE0144 エンティティの初期化
これはインテリセンスのエラーだと思いますが、コンパイル時にも出ますか?
コンパイルエラーでないのであれば、無視するのも一つの手です。
エラーの理由は文字列リテラルの型は const char [] であるのに
char * の初期化に使っているため、型が違うといっているのでしょう。
プログラムの修正は 20行目を とすればいいです。
E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
こちらも参照してみてください。
コンパイルエラーでないのであれば、無視するのも一つの手です。
エラーの理由は文字列リテラルの型は const char [] であるのに
char * の初期化に使っているため、型が違うといっているのでしょう。
プログラムの修正は 20行目を とすればいいです。
E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
こちらも参照してみてください。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXライブラリ「visualstudio」の設定について
- 返信数: 2
- 閲覧数: 888
Re: DXライブラリ「visualstudio」の設定について
Visual Studio で新規のプロジェクトを作成しようとしているのでしょうか? どこを探してもwin32が見当たらないです。 現在の Visual Studio 2017 には Win32 の項目はありません。 Win32 の開発が出来なくなったわけではなく、名前が変わりました。 DxLib での開発は“Windows デスクトップ”を選ぶ事になります。 Visual Studio はバージョン、エディションにより操作がかなり違います。 また、Visual Studio 2017 は頻繁にアップデートしていて、それによっても違いがあります。 質問するときはそれらを明記していただいた方がス...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
- 返信数: 16
- 閲覧数: 11747
Re: E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
char title[80]; char author[40]; タイトルと作者は固定長で定義されていますが、これに 80/40 文字以上をコピーしたらどうなるでしょう? そんなことしたら駄目ですよね。strcpy() ではそういうチェックは出来ませんから、strcpy_s() を使ってくださいと言うことなんだけど、そこは本質的なとこじゃないから、とりあえずエラー無しでコンパイルするためには、プログラムの先頭に #define _CRT_SECURE_NO_WARNINGS を追加してください。 C++なら std::string を使いましょうという話になりそうですが、それはまあ置いておい...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
- 返信数: 16
- 閲覧数: 11747
Re: E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
あっ、そうなんですね。tk-xleader さんが書きました: ↑3年前C++11以降は、文字列リテラルをchar*に暗黙変換できるという仕様は削除されました。Bull さんが書きました: ただ、これは歴史的経緯で許容されているはずです。
C++98でもそうしたかったらしいのですが、そうできなかったという話を聞いたことがあります。
文字列リテラルは const char * で受けるのが正当なのでしょうが、それを厳密にやってしまうと、過去のソースの修正が大変なことになりそうです。そういうこともあって、多くのコンパイラーではまだ const 無しで受けることを許容しているのでしょうね。
もちろん今後作成するソースは const を付けるべきですが。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
- 返信数: 16
- 閲覧数: 11747
Re: E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
以前どこかで似たような回答をした記憶があるんだけど... 何でこのエラーが出るのかちょっと不思議 まずエラーになる理由ですが、C++ では文字列リテラルの型は const char [] です。これを関数の実引数に使うと const char * に変換されます。一方 void store(char *t, char *name, int num); で、関数の仮引数は const 無しですので、互換性がないと言うことです。 文字列リテラルは変更不可なのに store() 内部で文字列を変更されてしまう可能性があるので、エラーにしているのでしょう。 ただ、これは歴史的経緯で許容されているはず...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: テトリスの改良版をつくりたいのですが..
- 返信数: 2
- 閲覧数: 3442
Re: テトリスの改良版をつくりたいのですが..
エラーメッセージに描かれていますが、コンパイルオプションに /Zc:strictStrings が指定されているようです。
このオプションは既定では off で、プロジェクトでも通常は設定されないようなので、別途追加したのでしょうか?
特に必要で無ければプロジェクトのプロパティーから除けばいいと思います。
このオプションは既定では off で、プロジェクトでも通常は設定されないようなので、別途追加したのでしょうか?
特に必要で無ければプロジェクトのプロパティーから除けばいいと思います。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイル分割した際,構造体が未定義になる.
- 返信数: 3
- 閲覧数: 1864
Re: ファイル分割した際,構造体が未定義になる.
そうですね、C/C++言語では型の外部参照はありません。Sado さんが書きました:変数や関数の定義・宣言はともかく、構造体の定義に関してのみextern指定子は無効だという考えで間違いないでしょうか?
コンパイラーは別のファイルにある構造体定義を(#include 以外で)読込むようなことはしません。
オブジェクトと関数の外部参照はリンク時に解決されますが、コンパイルはソースファイル単位(正確には翻訳単位)に行われます。ポインターなら不完全型でもいい場合がありますが、構造体のオブジェクトにアクセスするには不完全型ではダメですね。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイル分割した際,構造体が未定義になる.
- 返信数: 3
- 閲覧数: 1864
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: quick sort とselection sortの実行時間の計測
- 返信数: 2
- 閲覧数: 3142
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 計算式
- 返信数: 7
- 閲覧数: 1759
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: MIDI情報のTIMEの取得について
- 返信数: 1
- 閲覧数: 711
Re: MIDI情報のTIMEの取得について
MIDIデータ の TIME とはなんでしょうか?
デルタタイムでしょうか? それとも絶対時刻でしょうか? それとも演奏時間ですか?
MIDIdataLib を使用して MIDIファイルを読込めば、MIDIEvent 構造体の m_lTime に絶対時刻が入っているようです。
サンプルプログラムは実行してみましたか?
デルタタイムでしょうか? それとも絶対時刻でしょうか? それとも演奏時間ですか?
MIDIdataLib を使用して MIDIファイルを読込めば、MIDIEvent 構造体の m_lTime に絶対時刻が入っているようです。
サンプルプログラムは実行してみましたか?
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++を複数ファイルに分けた先でのインクルードについて
- 返信数: 2
- 閲覧数: 818
Re: C++を複数ファイルに分けた先でのインクルードについて
あくまで私個人の考え方ですが、func.h で iostream をインクルードすることは、無いです。
ヘッダーファイルは、その関数(ここではfunc.cpp)を使う側のためのものと考えるからです。
使う側にとって、iostream を使っているかどうかはあまり関係ないことなので、
必要の無いものはインクルードしないのが、私の方針です。
もちろん、インライン関数などで必要ならインクルードします。
ヘッダーファイルは、その関数(ここではfunc.cpp)を使う側のためのものと考えるからです。
使う側にとって、iostream を使っているかどうかはあまり関係ないことなので、
必要の無いものはインクルードしないのが、私の方針です。
もちろん、インライン関数などで必要ならインクルードします。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でリソースの練習をしています
- 返信数: 4
- 閲覧数: 1432
Re: C言語でリソースの練習をしています
LoadIcon と LoadCursor をする時に、EXE のインスタンスハンドルを指定しているからでしょう。
LoadLibrary でDLL のインスタンスハンドルを取得し、それを指定すれば良いと思います。
リソースのみの DLL の作成
を参考にしてみて下さい。
LoadLibrary でDLL のインスタンスハンドルを取得し、それを指定すれば良いと思います。
リソースのみの DLL の作成
を参考にしてみて下さい。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタを使った配列を関数に受け渡す方法について
- 返信数: 7
- 閲覧数: 9195
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]自作dllの読み込み方
- 返信数: 7
- 閲覧数: 7386
Re: [c++]自作dllの読み込み方
いろいろ調べた結果、プロジェクトファイルと同じディレクトリ(今回だとMain)にdllがあるとエラーなく動くようです。 できることならbin/Debugのdllを読み込みたいのですが何か方法はないでしょうか? それともプロジェクトファイルと同じディレクトリにdllを出力するのが正しい方法なのでしょうか? 一応確認ですが、ビルドは正常に終了して、実行時にエラーが出るのですよね? でしたら EXE と DLL の位置が問題なのではないかと思います。 要するに DLL を見つけられない状態ですね。 プロジェクトファイルというのがなんなのかわかりませんが、ソースファイルやライブラリーは実行時には関係...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: Visual Stadio2017について
- 返信数: 5
- 閲覧数: 1440
Re: Visual Stadio2017について
色々やり方はありますが、一番手軽な方法は、ダウンロードしたDxLibの "DxLib_VC\プロジェクトに追加すべきファイル_VC用" の中のすべてのファイル(ヘッダーとライブラリー)をVisual Studioのプロジェクトの "project\include" にコピーすることです。そうすればソースもプロジェクトも変更せずにすみます。
もとのincludeのファイルは上書きしていいと思いますが、不安ならフォルダーごとリネームでもしておいてください。
もとのincludeのファイルは上書きしていいと思いますが、不安ならフォルダーごとリネームでもしておいてください。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: Visual Stadio2017について
- 返信数: 5
- 閲覧数: 1440
Re: Visual Stadio2017について
プロジェクトに含まれるヘッダーとライブラリーは古いようです。
最新のDxLibをダウンロードし、それを使用すればリンクエラーは解消すると思います。
最新のDxLibをダウンロードし、それを使用すればリンクエラーは解消すると思います。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: cのプログラミング基礎
- 返信数: 5
- 閲覧数: 1411
Re: cのプログラミング基礎
解決した後見てなかったので、遅くなりました。 gccはあまり詳しくないので、私のわかることだけですが。 まずgccはいろいろなOSで動作し、バージョンによっても事情が変わってくるので、使用している環境を明示していただいた方がいいのです。VC++をお使いのようなので、Windowsと仮定して回答します。もしWindowsでない場合は補足していただければ、他の人からも答えて頂けるかもしれません。 Windowsで動作するgccはCygwinとMinGWが有りますが、私はMinGWしか使ってないので、MinGWについて回答します。MinGWもいろいろな亜流があるようですが、現在使っているのはgcc ...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: マイクのミュート状態
- 返信数: 9
- 閲覧数: 6972
Re: マイクのミュート状態
そのページにあるリンクをたどった先でMMDeviceに少しだけ触れています。
Vista以降はマルチメディア関数に替わりMMDeviceが使われるようです。
英文のサイトですが、Audio Endpoint Devices (Windows)はどうでしょうか。
Vista以降はマルチメディア関数に替わりMMDeviceが使われるようです。
英文のサイトですが、Audio Endpoint Devices (Windows)はどうでしょうか。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: マイクのミュート状態
- 返信数: 9
- 閲覧数: 6972
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: cのプログラミング基礎
- 返信数: 5
- 閲覧数: 1411
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: CScrollViewクラスについて詳しく解説してある本を探しています。
- 返信数: 2
- 閲覧数: 932
Re: CScrollViewクラスについて詳しく解説してある本を探しています。
CScrollViewクラスと言うことは、MFCでプログラミングしているということですか? CScrollViewに特化した参考書というのはないと思うので、MFCの参考書ということになるのでないかと。 最近はあまりMFC関連の書籍は見かけませんね。古いので良ければ、私の持っている本ですが、 (1) MFCによるWindowsプログラミング 私の持っているのはWindows95時代のものですが、その後Windows2000対応の新版が出ているようです。 とは言っても10年以上前のものですし、新品での入手は困難でしょう。中古なら手に入るみたいですが、 Amazonでは¥20,000以上の値段がつい...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 未解決のシンボル
- 返信数: 2
- 閲覧数: 881
Re: 未解決のシンボル
あれ、すいません。プログラムをよく見てなかったです。
ライブラリを使用しないで、Windowsのマルチメディア関数を直接呼んでいるんですね。
であれば、winmm.libを一緒にリンクするだけでいいです。
デフォルトではwinmm.libはリンクされないようなので、追加の依存ファイルに書き込めばいいです。
ライブラリを使用しないで、Windowsのマルチメディア関数を直接呼んでいるんですね。
であれば、winmm.libを一緒にリンクするだけでいいです。
デフォルトではwinmm.libはリンクされないようなので、追加の依存ファイルに書き込めばいいです。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: 未解決のシンボル
- 返信数: 2
- 閲覧数: 881
Re: 未解決のシンボル
MIDIの取得について の続きですか? でしたら新しいトピックを立てないで、返信にしていただけると話がつながりやすいです。 ライブラリ(MIDIIO.lib)を指定すればいいと思います。 プロジェクトのプロパティで[リンカー]->[入力]->[追加の依存ファイル]にMIDIIO.lib(Release)またはMIDIIOd.lib(Debug)を指定すればいいです。必要に応じて[リンカー]->[全般]->[追加のライブラリ ディレクトリ]を指定してください。 実行するときはDLL(MIDIIO.dll)も必要になるので、.exeと同じディレクトリに入れてください。 DLLを使用したくないとき...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: MIDIの取得について
- 返信数: 2
- 閲覧数: 812
Re: MIDIの取得について
ダウンロードしたプロジェクトはDLLを作るものなので、そのままでは実行できません。
そのページにサンプルプログラムがあるので、それで動作確認ができますが、新たにプロジェクトを作成しなければなりません。プロジェクトの作り方はわかりますか?
こちらでは Windows 7 Pro(32bit)/Visual Studio 2015 の環境で正常に音が出ていることが確認できています。
そのページにサンプルプログラムがあるので、それで動作確認ができますが、新たにプロジェクトを作成しなければなりません。プロジェクトの作り方はわかりますか?
こちらでは Windows 7 Pro(32bit)/Visual Studio 2015 の環境で正常に音が出ていることが確認できています。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: vc++2010e でコードファイルのカラー印字は出来無いのでしょうか?
- 返信数: 2
- 閲覧数: 983
Re: vc++2010e でコードファイルのカラー印字は出来無いのでしょうか?
ちょっと検索してみたら、こんなページが見付かりました。
https://msdn.microsoft.com/ja-jp/librar ... .100).aspx
ただしExpress Editionでは無理みたいです。
VS2008とかVS2015なら、そのままでもできるみたいですけどね。
https://msdn.microsoft.com/ja-jp/librar ... .100).aspx
ただしExpress Editionでは無理みたいです。
VS2008とかVS2015なら、そのままでもできるみたいですけどね。
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: OLEによる関数呼出し時の引数の調べ方について
- 返信数: 6
- 閲覧数: 2694
Re: OLEによる関数呼出し時の引数の調べ方について
最後に記述頂いたソースで少し質問しても宜しいでしょうか。 AutoWrap(DISPATCH_METHOD, NULL, pXlSheet, L"PrintOut", 9, vtMissing, vtMissing, vtMissing, vtMissing, printer, vtMissing, vtMissing, vtMissing, vtMissing); 上記コードですが、 1)pXlSheetは"Worksheets"オブジェクトで宜しいでしょうか?(Worksheets、sheets、sheetとEXCELはやたらにオブジェクトがありますので・・・) 2)vtMissingは...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: OLEによる関数呼出し時の引数の調べ方について
- 返信数: 6
- 閲覧数: 2694
Re: OLEによる関数呼出し時の引数の調べ方について
普段 VC で#importを使用するプログラムしか作ってないので、状況が違うのですが、 メソッドのパラメーターはVBAのヘルプやVCが#importするときに作ったヘッダーを参考にしています。 VBAは微妙に違うものがあるし、ヘッダーは説明がないので、名前から連想して最終的には、 試行錯誤でプログラミングしてます。 もし、VCをお使いならば、一度#importを使用したプログラムをコンパイルして、 ヘッダーファイルだけでも作っておくといいかもしれません。 PrintOutのパラメーターは全部で、9個みたいです。そのうち5番目がプリンター名です。 パラメーターの省略はできないようなので、すべて...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラーを理解できない
- 返信数: 1
- 閲覧数: 1054
Re: エラーを理解できない
お使いのコンパイラーはVC++でしょうか?s.h さんが書きました:以下のプログラムで「LNK1169」「LNK2005」というエラーが出たのですが意味が理解できません
であるとすると「LNK1169」「LNK2005」というエラーは
識別子を多重定義したときに発生します。
ご提示のソースをコンパイルする限りは、エラーは出ません。
想像ですが、同じプロジェクトに別のソースがあって、
そこに同じ名前の関数が定義してあるのではないでしょうか?
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: Runtime API と driver API
- 返信数: 12
- 閲覧数: 2291
Re: Runtime API と driver API
普段 Windows のデスクトップアプリ、それもネイティブアプリしか作らないので、 あまり知識があるとは言えないのですが、一般的にはWindows Runtime API と 言ったらストアアプリ用のAPIのことと思いますが、そのことでしょうか? とするとWindows環境特有の用語で、Linuxには関係ないような気がしますが 全く別の話でしょうか? Driver APIもあまり聞き慣れない用語で、何となくイメージはできますが よく判りません。 どのような文脈で使用されていたのか、説明して頂けませんか? 専門用語は使う人、場所、シチュエーションによって全く違ったりします。 バックグラウンドを...
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: Eclipse windows editionについて
- 返信数: 1
- 閲覧数: 734
Re: Eclipse windows editionについて
普段 Eclipse を使用していないので、あまり詳しくないのですが、Eclipse は開発環境ですので丹野 さんが書きました: 1) Eclipse windows editionでMSのいろいろAPIを利用できるのでしょうか。
2) Eclipse windows editionがC11, C13 をサポートしますか。
これらは、使用しているコンパイラー次第ではないでしょうか。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: Microsoft Visual Studio コミュニティ2015をインストールをアンインストール
- 返信数: 1
- 閲覧数: 813
Re: Microsoft Visual Studio コミュニティ2015をインストールをアンインストール
VC++ を使用するなら、アンインストールしたらダメでしょう。 他のコンパイラを使うなら、どうでもいいでしょうけど。 OSによって違うのですが、基本的にはスタートメニュー(スタート画面)からたどっていけばいいんですけど。 例えば Windows7 ですと、[すべてのプログラム]→[Visual Studio 2015]→[Visual Studio Tool]の中に "開発者コマンド プロンプト for Visual Studio 2015"というのがあるので、それをクリックするとコマンドプロンプトが開きます。そうすると "cl コマンド" が使えるようになります。 スタートメニューは個人的に...
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: >cl コマンドラインエラー D8016 /ZIと/Gyは同時に指定できません。
- 返信数: 1
- 閲覧数: 4155
Re: >cl コマンドラインエラー D8016 /ZIと/Gyは同時に指定できません。
"/Gy" オプションはプロパティページの[C/C++]→[コード生成]の関数レベルでリンクするで指定します。
ところで、状況がよく判らないので、幾つか質問に答えていただけますか?
1. DebugモードとReleaseモードのどちらでビルドしているのでしょうか?
2. 新規でプロジェクトを作成しても、同じエラーが出ますか?
3. C/C++のプロパティはどこを変えましたか?
4. どのようにプロジェクトを作成しましたか?
ところで、状況がよく判らないので、幾つか質問に答えていただけますか?
1. DebugモードとReleaseモードのどちらでビルドしているのでしょうか?
2. 新規でプロジェクトを作成しても、同じエラーが出ますか?
3. C/C++のプロパティはどこを変えましたか?
4. どのようにプロジェクトを作成しましたか?
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドラインオプションD8016 エラー
- 返信数: 6
- 閲覧数: 5010
Re: コマンドラインオプションD8016 エラー
その必要はないです。プロパティを変更したら即座に反映されるはずです。constructor2016810 さんが書きました:プロパティに変更を加えたら PCを再起動する必要があるのでしょうか?
すでに指摘されている事ですが、"/ZI"と"/GL"オプションは同時に指定できません。普通にプロジェクトを作成すると同時に指定される事はないはずですが...
もしどうしても出来ないのであれば、最初からプロジェクトを作り直してみた方がいいかもしれません。
あと、プロパティのコマンドラインで指定してあるオプションを確認できます。現状のプロジェクトがどうなっているか、見てみてください。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドラインオプションD8016 エラー
- 返信数: 6
- 閲覧数: 5010
Re: コマンドラインオプションD8016 エラー
プロジェクトのpropertyで、/ZI あるいは/GL の選択方法がわかりません。 どのようにすればよろしいでしょうか? /ZIプロジェクトのプロパティの[C/C++]→[全般]のデバッグ情報で「エディット コンティニュのプログラム データベース(/ZI)」で指定します。/GLは同じく[C/C++]→[最適化]のプログラム全体の最適化で「はい(/GL)」で指定します。この二つはデフォルトでプロジェクトを作成すると同時に指定される事はないはずですが、変更しましたか? Debugモードならばプログラム全体の最適化は指定されてないはずです。またReleaseモードでは、デバッグ情報の形式は「...
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: テンプレート
- 返信数: 3
- 閲覧数: 1054
Re: テンプレート
Visual Studio のプロジェクトテンプレートのことですか?
だとしら、Visual Studio のエディションは何でしょうか?
エディションによってはコンソールアプリケーションを
作成できないものもあるようです。
Express for Desktop ならば可能ですが、for Web
とか for Windows などではできないはずです。
だとしら、Visual Studio のエディションは何でしょうか?
エディションによってはコンソールアプリケーションを
作成できないものもあるようです。
Express for Desktop ならば可能ですが、for Web
とか for Windows などではできないはずです。
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: 【VC++】特定のエディットコントロールだけD&Dを許可したい。
- 返信数: 2
- 閲覧数: 1516
Re: 【VC++】特定のエディットコントロールだけD&Dを許可したい。
まず最初に確認したいのですが、MFC を使用しているのですよね。 質問の内容から何となく MFC を使用している感じがしました。 以前に特定のコントロールのみのドラッグ&ドロップをするプログラムを 作った記憶があったので、古いソースを漁ってみたら、VC6のソースが 見付かりました。バージョンもかなり前ですし、エディットコントロールに ではなく、コンボボックスが対象ですが基本的には変わらないのでは ないかと思います。 大雑把に言いますと、リソースエディタでドラッグドロップを許可する にして、コントロール(コンポボックス)をサブクラス化していました。 MFC でしたらコントロールのサブクラス化はそ...
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: Hell worldプログラムについて
- 返信数: 2
- 閲覧数: 972
Re: Hell worldプログラムについて
その「Hell worldプログラム」でしたらwomb さんが書きました:また、そもそもBlend for Visual Studio 2015を使用している事が間違えではないでしょうか。
Blend for Visual Studio 2015 ではなく Visual Studio 2015 でプログラミングして下さい。