検索結果 273 件

by だんごさん
6年前
フォーラム: C言語何でも質問掲示板
トピック: ブラウザとやり取りする方法
返信数: 2
閲覧数: 5144

Re: ブラウザとやり取りする方法

遅れてしまい申し訳ありません。ご返信ありがとうございます。
よもやま さんが書きました:
6年前
今回の場合、いくつかの手段があると思われます。
1.HTTP(HTTPS)でGETコマンドを使ったデータ受信
2.WebSocketを使ったデータの送受信
3.Socket通信を使ったデータの送受信
今回はsocket通信で試してみたいと思います。
有用な情報ありがとうございました。
by だんごさん
6年前
フォーラム: C言語何でも質問掲示板
トピック: ブラウザとやり取りする方法
返信数: 2
閲覧数: 5144

ブラウザとやり取りする方法

毎度C言語とは離れた質問で申し訳ないです。

ブラウザと自分のソフト間でデータのやり取りを行おうと思ったのですが、方法がいまいち思いつきません。
ブラウザは埋め込みとかではなく、事前に用意したファイルをブラウザとして開いた際に、ローカルで動くソフトとデータをやり取りし、取得したデータを随時描画するイメージです。
localhostとしてソフトとTCP接続する方法が今のところ思いついた案なのですが、実際これが動くのか、またベストな方法なのか分からないため質問させていただきました。

よろしくお願いいたします。
by だんごさん
6年前
フォーラム: C言語何でも質問掲示板
トピック: UIに特化したソフトの作成方法
返信数: 4
閲覧数: 15214

Re: UIに特化したソフトの作成方法

返事遅くなり申し訳ありません。ご返信ありがとうございます。

私の求めていたものが気持ちよく見つかった気がします。
年も明けましたので今年は教えていただいた物に挑戦したいと思います。
お二方ありがとうございました。
by だんごさん
6年前
フォーラム: C言語何でも質問掲示板
トピック: UIに特化したソフトの作成方法
返信数: 4
閲覧数: 15214

UIに特化したソフトの作成方法

C言語とは関係ない質問になります。 最近、見た目に特化したソフトを作成してみたいなと思うようになりました。 しかしどのようにUIをキレイに作るのか分からずにいます。 個人的にはブラウザを埋め込みHTMLで画面構成することくらいしか思いつきません。 以下の画像は拾い物ですがESETセキュリティソフトの画面です https://imgur.com/bSodn3Z プログレスバーの動きもアニメーションですし、ちらつくこともありません。 またAdobeのソフトではメッセージボックスや各コントロールもオリジナルになっています。 自分でオーナードローするにも限界があるはずなので自作されているのかなと思って...
by だんごさん
6年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームの作成
返信数: 13
閲覧数: 7091

Re: 数当てゲームの作成

辛辣かもしれませんが、問題や動作以前にC言語の基本を理解する必要があるのではないでしょうか。

1.24行目「;」がありません。
2.25行目、「n++;」の「;」は必要ありません。
3.28行目、elseの「{」が閉じられていません。
4.30行目、whileの「(」が閉じられていません。

次は動作に関することです。

1.25行目、入力してもらったnをなぜanswerまでループカウントさせるのでしょうか。
2.26行目、条件式「>=」ではanswerも含みます。
3.28行目、上記を修正後、elseではanswerも含みます。
4.30行目、「n <= LIMIT」は問題に反しています。
by だんごさん
6年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Studio、C#で電卓を作りたい。
返信数: 11
閲覧数: 19448

Re: Visual Studio、C#で電卓を作りたい。

なぜ「×2」のような挙動をするかは理解していますか? 例えば、「2 + 2 = 4」と一回目に計算したとき、txtDisplayに値は結果である「4」が入ります。この時値1には結果である4が入っています。 次に2回目の計算が実行されるとき、この値1に対し、値2、つまり今txtDisplayに表示されている「4」が足され、結果が8になります。 同じ値同士で計算されているのです。なので引き算では「4 - 4 = 0」となるし、「4 / 4 = 1」となります。 「9 × 2 = 18」から=を押すと、0になります。 とありますが掛け算割り算は0にはならないかと思います。何かミスがありましたか? コ...
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: よくわかりません
返信数: 13
閲覧数: 6786

Re: よくわかりません

tennga さんが書きました:これもしかしてc++ですよね?
ぼくが扱っているプログラミングCなんですよ、、、
C言語ですよ。表示形式がC++なだけです。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gcc + cmd で文字化け (Windows 7 64bit)
返信数: 5
閲覧数: 6018

Re: MinGW gcc + cmd で文字化け (Windows 7 64bit)

実際にこちらの方でも試してみたところ確かに文字化けが発生しました。 色々試しましたがやはりダメでした。 ひとつ疑問なのですが、 ・MinGW は通常の物ではなく、ネットに繋がっていない PC でも  使いたいため  https://ja.osdn.net/projects/sfnet_nasame2013/downloads/sources/MinGW-gcc440_1.zip/  にある zip ファイルを解凍して使っています とありますが、ネットに繋がっていなくともMinGWは使用できるかと思います。 そちらで教えてくださったMinGWはインストーラーから手に入れたMinGWを軽量化すると...
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gcc + cmd で文字化け (Windows 7 64bit)
返信数: 5
閲覧数: 6018

Re: MinGW gcc + cmd で文字化け (Windows 7 64bit)

こんにちは。gccややこしいですよね。

set LANG=ja_JP.SJIS
set LC_CTYPE=C-SJIS

これでどうですか?
ちなみに、EUCは試していませんが、書き方としては

set LANG=ja_JP.eucJP
set LC_CTYPE=C-EUCJP

になるかと思います。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのlocaleパスについて
返信数: 7
閲覧数: 5127

Re: MinGW gccのlocaleパスについて

ISLe さんが書きました:Cygwin版はインストールドライブ以外のドライブでもちゃんと日本語になるんですけどね。
すみません。言われてみればMinGWもドライブの違いは関係なかったです…。

とりあえず解決にします。
ご返信ありがとうございました。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのlocaleパスについて
返信数: 7
閲覧数: 5127

Re: MinGW gccのlocaleパスについて

ご返信ありがとうございます。

残念ながらMSYS_HOMEでも変わりはありませんでした。

実は色々と調べているときに見逃していたのですが、Cygwin + MinGW + GCC 相談室 Part 7のように、同様な疑問を持った方とそれの答えが既に出ていました。
かなり具体的に説明されていまして、解決策の一つである、もう自前でフォルダ作ってしまうという方法を応急処置としました。

ですが正直納得いかないのが本音です…。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのlocaleパスについて
返信数: 7
閲覧数: 5127

Re: MinGW gccのlocaleパスについて

ご返信ありがとうございます。

MINGW_HOMEを設定してみましたが、残念ながら効果がありませんでした…。
もしかしてMinGW側のバグではないかと疑い始めています。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミングの課題について
返信数: 3
閲覧数: 1727

Re: プログラミングの課題について

「5回記録する」と書いてありますが、コードは「5回読み込む」になっています。同じデータが5回表示されて当たり前です。 また最初にファイルを作る必要はありません。get_dataで「初めてですね」が表示されないですし、put_dataで書き込みする際にファイルが作られますから意味のないものです。 コードのmain関数を以下のように変えてください。 int main(void) { // make_file(); get_data(); if (_getch()) put_data(); if (_getch()) put_data(); if (_getch()) put_data(); if ...
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのlocaleパスについて
返信数: 7
閲覧数: 5127

MinGW gccのlocaleパスについて

前回、 MinGW gccのエラー日本語化 でMinGWのgccを日本語化することができました。 しかし、環境変数が(ドライブ名):\MinGW\...以外のパス名だとコンパイルは通るのにshareフォルダのlocaleが読み込まれないのか、日本語にならなくなってしまいました。 これについて自分だけの環境であるか確認したいため、もしよろしければ確認のお願いと、同じ症状が出るならどう対処すべきか教えていただきたいです。 具体的な発生条件ですが、 1.MinGWのデータが「C:\MinGW\bin」にあるなら実行時に日本語になる。 2.「C:\MinGW1\bin」など「MinGW」以外の名前だと...
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのエラー日本語化
返信数: 6
閲覧数: 10564

Re: MinGW gccのエラー日本語化

解決しました。

MinGWをインストール時にmingw32-gccのlangクラスをインストールすることでshareフォルダにlocaleが追加され、無事jaが入り日本語の表示に成功しました。
インストール時に膨大なファイルな上、Classの名前しか違いがなかったので相当迷ってしまいました。

ちなみにset LANG=ja_JPだけで表示されました。
ありがとうございました!
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのエラー日本語化
返信数: 6
閲覧数: 10564

Re: MinGW gccのエラー日本語化

ISLe さんが書きました:ウチはCygwinでパッケージ配布されているMingw64のものを使っているのですが、LANG=ja_JP.UTF-8だけで日本語に切り替わってます。
確かにCygwinから行うと日本語になりました…。思わず感動しました。

しかしMinGWは相変わらず英語のままです。

Cygwinでポータブル版を作ろうかと思ったのですが、MinGWより倍近い容量がありますので躊躇してしまいます。(gccを再配布するためです)
最善の方法はありますでしょうか。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリのデバッグ
返信数: 12
閲覧数: 4399

Re: DXライブラリのデバッグ

DrawCircle等は描写のグラフィックハンドルを取得するものではありません。
GetGraphSize等でそのハンドルを使用しても無効だと思います。
ただそれで強制終了するかは確認していないため分かりません。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのエラー日本語化
返信数: 6
閲覧数: 10564

Re: MinGW gccのエラー日本語化

ご返信ありがとうございます。
しばらくネット環境が無いため携帯からの返信です。

mingwをインストール後ポータブル化しgccを使っているため、バッチファイルから
set LANG=ja_JP
bin¥gcc.exe main.c
のように起動してみました。
(実際はパスなど変更してます)
しかしわざとエラーを起こしてみたりしましたが英語のままでした…

日本語化の要求レベルは、以前投稿の日本語化のリンク先のような比較的出やすいエラーを日本語化出来たらいいなといった感じです。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gccのエラー日本語化
返信数: 6
閲覧数: 10564

MinGW gccのエラー日本語化

MinGWのgccのエラー文等を日本語化したいのですが、何か方法はありますでしょうか。
検索すると、ファイルに日本語が含まれている場合の対処法だったり、日本語化プロジェクトがありますが更新が無かったりと図星のものが見つからず困っています。

ひとつ、GCC Version4メッセージの日本語化を参考に、MinGWのgccをmsysでmakeしてできるのではないかと睨んでいます。
ですがどのMinGWファイルをどういう手順でmakeしていくかと、そもそも出来るのかさえ分からず手が出ておりません。

よろしくお願いいたします。
windows10 64bit
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 値渡しと参照渡しの違い
返信数: 8
閲覧数: 3562

Re: 値渡しと参照渡しの違い

おおざっぱに言うと、値渡しはコピーを、参照渡しはデータが入っている住所(アドレス)を渡しているからです。
コピーをいくら変更してもコピー元は影響しません。これが値を交換しても影響しない理由です。
しかし参照渡しはアドレスを渡されて、その中身を変えるわけですから値交換が可能になります。

怒られそうな説明ですが分かりやすく言うとこんな感じでしょうか。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: [Win32]IOCTL_STORAGE_MEDIA_REMOVALが正しく動作しない
返信数: 2
閲覧数: 2048

Re: [Win32]IOCTL_STORAGE_MEDIA_REMOVALが正しく動作しない

Win10、C言語で試してみました。 同じように、SwitchEjectMechanicsでロックし、カウントダウンと同時にイジェクトボタンを離しつつDVD内に対してPathIsDirectoryとfopenをやってみました。 ですが、何回やっても両方とも成功しました。 int main(void) { int count = 0; SwitchEjectMechanics("F", true); // カウントダウン while (count < 5) { Sleep(1000); printf("%d\t", 5 - count); count++; } // フォルダ、ファイルのアクセス...
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: プログラム実行の手間を省きたいです
返信数: 13
閲覧数: 5027

Re: プログラム実行の手間を省きたいです

20行目21行目の x[n] という宣言は正しくないように思います。nが初期化されていませんし、そもそも変数でサイズを指定できたかどうか…。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: gdbの出力読み取りについて
返信数: 3
閲覧数: 2689

Re: gdbの出力読み取りについて

自己解決しました。
GDBのオプションに註釈レベルというのがあるそうで、このレベルを上げることでプログラムから判断しやすい出力にしてくれるようになりました。
http://www.asahi-net.or.jp/~wg5k-ickw/h ... ja_19.html
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: gdbの出力読み取りについて
返信数: 3
閲覧数: 2689

Re: gdbの出力読み取りについて

現在、gcc(MinGW)とgdbを使ってC言語エディタを作っています。 内部でgccコンパイラを動かしてgdbでデバッグを行っています。 対象C Visual Studio 2015 どういうことだ…?と思ったけど、最近のVisual Studioはgcc対応しているのですね。 ようやくきました。Visual StudioがGCC/GDB対応 – デバイスとITの架け橋 開発がVisual Studio 2015であって自作のエディタがgcc/gdbです。 書き方というか説明が下手ですみません。 VSでVBを使って、C言語エディタを作成しています。 そのC言語エディタで使っているコンパイラ...
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: gdbの出力読み取りについて
返信数: 3
閲覧数: 2689

gdbの出力読み取りについて

現在、gcc(MinGW)とgdbを使ってC言語エディタを作っています。
内部でgccコンパイラを動かしてgdbでデバッグを行っています。

ここで、gdbの出力してくる情報の識別方法に悩んでいます。
というのも出力してくる情報に識別子のようなものが無いため何の情報か間接的に判断するしかありません。
(gdb)[STEPIN]みたいな文があったらいいのですが…
何か識別する方法がありましたら教えてほしいです。

よろしくお願いします。

開発VB Windows10
対象C
Visual Studio 2015
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: [至急]背景、切り替え、特殊効果について
返信数: 10
閲覧数: 4335

Re: [至急]背景、切り替え、特殊効果について

DXライブラリ 関数リファレンスページは御覧になられましたか?
各関数の使い方が詳しく書いてあります。

画像の大きさを変えるにはDrawGraphとは違い、DrawExtendGraphやDrawModiGraphなどを使用するとよいと思います。
またLoadGraphは初期化時に一度だけ呼び出します。毎フレーム呼び出すと都度メモリに読み込むためそのうちメモリが足らなくなるか落ちます。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!
返信数: 3
閲覧数: 1727

Re: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!

ソースはコードタグで囲みましょう。見やすくなります。 #include <iostream> #include <wineggx.h> #include <fstream> using namespace std; int main() { ifstream fin; fin.open ("data1.txt"); if(!fin) { cout << "入力ファイルがオープンできません" << endl; cin.get(); return 1; } int i; char c; while(fin>>c) cout<<c; fin.close(); cin.get(); return 0;...
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!
返信数: 3
閲覧数: 1727

Re: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!

ファイルの文字を一文字ずつ解析し、もしその文字が特定の文字だった場合カウントを+1していく、という方法で可能だと思います。

ファイルの文字だけループさせ、ifで判定をする、ということをプログラムに起こしてみてはいかがでしょう。
たとえ間違ったプログラムでも載せていただければ、それなりにアドバイスが来るかと思います。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリのDrawFormatStringについて
返信数: 4
閲覧数: 2594

Re: DXライブラリのDrawFormatStringについて

書式指定と引数の数が間違っていませんか?

コード:

DrawFormatString(0, 0, GetColor(255,255,255), "%s%s", "あいうえお");
このように%sの数に対して引数の数が合っていない場合、処理が遅くなる場合があります。
by だんごさん
7年前
フォーラム: C言語何でも質問掲示板
トピック: C#のSetPixel()について
返信数: 6
閲覧数: 2716

Re: C#のSetPixel()について

notebook さんが書きました:もしかしてbyte r,g,bで読み込んだ値って実は、順番が逆なんでしょうか?
よく見たらその可能性がありますね。
その方法でやるのでしたら、Bitmap処理を高速化するサンプル こちらが分かりやすいかと思います。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: WinAPIのエディトコントロールについて
返信数: 6
閲覧数: 2792

Re: WinAPIのエディトコントロールについて

半角英数字のみの入力方法は、エディットのメッセージ処理を行うことで可能です。 case WM_CREATE: pass = CreateWindow(TEXT("EDIT"),NULL,WS_OVERLAPPED | WS_TABSTOP | WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_MULTILINE, 150,70,100,20,hwnd,(HMENU)REGIST_PASS,((LPCREATESTRUCT)(lp))->hInstance,NULL); DefEditProc= (WNDPROC)GetWindowLong(pas...
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 配列と乱数について
返信数: 1
閲覧数: 1045

Re: 配列と乱数について

21行目、num = n[t];
ここのnumはint型です。0.xxxの値を代入すると0になります。
ですので、23行目、n = num;では0を代入することになります。
numをdouble型にしてみてはいかがでしょう。

と思ったら同じトピックがありましたね。
配列と乱数について
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリが実行できません。
返信数: 6
閲覧数: 3228

Re: DXライブラリが実行できません。

DxLibの実行ログを見せてください。
DirectX9移行のインストール、およびDirectX7以降に対応したグラフィックスデバイスかどうかなど条件を満たしているか確認してください。
DXライブラリの特徴
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: リリース
返信数: 1
閲覧数: 1089

Re: リリース

設定が間違っている可能性があります。
VisualC++ 2010 Express Edition を使用した場合のDXライブラリの使い方
こちらを参考にプロジェクトの設定を行ってください。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: ダブルバッファについて
返信数: 1
閲覧数: 1241

Re: ダブルバッファについて

スレッドから呼び出されたInvalidateRectのhWndには何も値が入っていません。 そのため、「 NULL を指定すると、システムはすべてのウィンドウを無効化し、再描画し、さらにこの関数から制御が返る前に、 と の各メッセージをウィンドウプロシージャへ送信します。 ( InvalidateRect )」 とあるように、すべての領域を再描画させるため画面がちらつきます。 まず60FPSを出すためにスレッドは使わずにPeekMessageを使います。 ウィンドウメッセージを処理する部分を以下のようにします。 while(1) { if (PeekMessage(&msg,NULL,0,0,...
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: DrawStringToHandleでの全角文字の表示について
返信数: 9
閲覧数: 3179

Re: DrawStringToHandleでの全角文字の表示について

おそらくDX_FONTTYPE_ANTIALIASINGでアンチエイリアスを有効にしていて、かつ描画回数が多すぎるのが原因だと思います。 別の変数に代入して速度が速く感じたのは、strAtcNameとstrSelectModeの描画とひらがなの描画で違うフォントハンドル(Font[2]と[3])を使用していたため(フォントの中身が同じなのに遅くなるのは不明)だと思います。 解決方法としては一文字ずつ描画するのではなく、できるだけまとめて表示するか、描画回数が多い場所のフォントをアンチエイリアスのないものにすること、または画像にしてしまうかです。 とはいえかなり遅いのでもしかするとDxLib側で...
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: DrawStringToHandleでの全角文字の表示について
返信数: 9
閲覧数: 3179

Re: DrawStringToHandleでの全角文字の表示について

フォントをメイリオにしてみましたがfpsが下がることはありませんでした。
別の変数に代入すると正常に動くとのことですが、コードに問題があったのかDxLib側の問題だったのかは分かりません。
もしよろしければ、主にフォントを作成した部分とフォントデータを代入してみたところのコードを載せていただけますでしょうか?
もし特に問題が無いのに不具合が起きた場合、DxLibの掲示板で聞くのも一つの手です。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル入出力とデータ処理
返信数: 5
閲覧数: 2251

Re: ファイル入出力とデータ処理

とてもこちら側で15万点ものデータを用意できませんので自分で確認してもらうのが一番実用的な方法です。
開発環境は何でしょうか?デバッグ機能がついたコンパイラで実行してみてください。
例えばvisual studioは高機能かつ無料で使用できます。
Visual Studio ダウンロード
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル入出力とデータ処理
返信数: 5
閲覧数: 2251

Re: ファイル入出力とデータ処理

配列の要素数が大きすぎてスタックオーバーフローを起こしています。
double before[200000]; と double after[200000]; を int main(void)の外に出して静的領域に移動させるか、mallocなどで動的にメモリ確保を行ってください。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: DrawStringToHandleでの全角文字の表示について
返信数: 9
閲覧数: 3179

Re: DrawStringToHandleでの全角文字の表示について

フォント名を教えていただきましたら再度動かしてみますのでよろしければお願いします。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: GraphBlend関数を使いたいのですが・・・。
返信数: 2
閲覧数: 1970

Re: GraphBlend関数を使いたいのですが・・・。

#DX_NON_FILTERを定義していませんか?
DxLibフォルダにあるDxCompileConfig.hの設定でフィルター関連の使用を禁止していませんか?

もしそれでも直らないのであればDxLibを再ダウンロードしてみてはいかがでしょう。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: DrawStringToHandleでの全角文字の表示について
返信数: 9
閲覧数: 3179

Re: DrawStringToHandleでの全角文字の表示について

簡単にですが実際に動かしてみました。
ですが特にfpsが極端に下がることはありませんでした。
動かすために少々変更したところは、フォントはデフォルトになったことと、strSelectMode[][5]の添字とchKana1ToName[][3]の添字をそれぞれ+2ほどしました。
(これはエンティティを初期化できませんというエラーが出たため)
画像
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 音声が正常に再生されない
返信数: 6
閲覧数: 3361

Re: 音声が正常に再生されない

DxLibはogg形式が動作保証されていたと思います。oggでは再生できるでしょうか。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: メモリ使用量がどんどん増えます
返信数: 4
閲覧数: 1943

Re: メモリ使用量がどんどん増えます

おそらくdeleteしてもDxLibで読み込んだ画像はメモリに残っていると思いますので
DeleteGraphを呼んであげるようにすればよいと思います。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: メモリ使用量がどんどん増えます
返信数: 4
閲覧数: 1943

Re: メモリ使用量がどんどん増えます

switch(flag){ case 0: pS = new Stage(); pS->Init(stage_num); flag = ; break; case 1: pS->Display(); if(pS->GetState()){ flag = 2; } break; case 2: delete pS; stage_num++; flag = 0; break; } ソースコードはcodeタグで囲みましょう。 5行目flagの値が代入されていませんがflag = 1;ということでしょうか? またstage_numの上限を設定してないように思えますが大丈夫でしょうか?
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 課題なのですが分かりません。助けてください。
返信数: 10
閲覧数: 4349

Re: 課題なのですが分かりません。助けてください。

みけCAT さんが書きました:
だんごさん さんが書きました:問1

コード:

#include <stdio.h>

int main( void ){
	int a = 'F';
	int b = 0x4ab7;
	double c = 16.5;
	char d[] = "SWAT";
	printf("%c,%x,%lf,%s",a,b,c,d);
	return 0;
}
printf系の関数でdouble型の値を出力するには%lfではなく%f(または%gなど)を用いるべきであると言われています。
(調べてみたら何も起こらないようですけど…)
すみません、そこまで深く考えてませんでした…
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 課題なのですが分かりません。助けてください。
返信数: 10
閲覧数: 4349

Re: 課題なのですが分かりません。助けてください。

課題を出されるということはそれなりに学習する時間があったということでしょうか。 明日提出でprintfを使うことしかわからないとなればかなり致命的ですね。 後日必ず勉強をしてください。 問1 #include <stdio.h> int main( void ){ int a = 'F'; int b = 0x4ab7; double c = 16.5; char d[] = "SWAT"; printf("%c,%x,%lf,%s",a,b,c,d); return 0; } 質問丸投げですが期限が明日なのでフォーラムルールに則り解答を書きました。違反であるなら削除しますがいかがでしょう…?
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3をDxLibのプログラムに組み込めない
返信数: 17
閲覧数: 7311

Re: sqlite3をDxLibのプログラムに組み込めない

ISLe さんが書きました: fstreamで読み取るなら空白文字で区切る必要があります。

eofはアクセスした際にフラグがセットされるので読み取り操作後でなければいけません。

if (!ifs) break;
と書くとeofとfailのどちらか一方でも真になればbreakします。
特に区別する必要がなければこちらの書き方をお勧めします。
なるほど、勉強になりました…
先程の自分の回答はスルーされて結構です。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3をDxLibのプログラムに組み込めない
返信数: 17
閲覧数: 7311

Re: sqlite3をDxLibのプログラムに組み込めない

C++のファイル系統は触ったことなかったので少し勉強してきました。

55行目のファイルの終わりを確認する部分はfail関数で確認するべきだと思います。
>>演算子で読み込む場合はfail関数で失敗したかが分かるそうです。
どちらにせよeofで確認するのであれば少なくとも54行目の前に来るべきだと思います。
今回はおそらくファイルの読み込みでエラーが発生したのにファイルの末端というわけではないため永遠とループしたのではないかなと思います。
違ってたらすみません…。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3をDxLibのプログラムに組み込めない
返信数: 17
閲覧数: 7311

Re: sqlite3をDxLibのプログラムに組み込めない

あまり詳しくないので的外れかもしれませんが…

ItemTable.cppの37行目でsqlite3_close(ItemDB);で閉じているのに60行目のsqlite3_execでアクセスしようとしているのはどうでしょうか。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: KeyInputNumber関数の入力の位置を示す棒の点滅がしたい
返信数: 2
閲覧数: 1711

Re: KeyInputNumber関数の入力の位置を示す棒の点滅がしたい

試してませんがSetKeyInputCursorBrinkFlag関数で点滅はできませんか?
SetKeyInputStringColor2でDX_KEYINPSTRCOLOR_NORMAL_STRを指定し色を指定すると入力文字の色が変えられます。
非公式APIがありますのでDxLibの中身を見てみてください。
by だんごさん
8年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列から空白までの情報を取得
返信数: 4
閲覧数: 2609

Re: 文字列から空白までの情報を取得

単純に情報の数が明確であるならばscanf("%d%d%d%d",...)で取得できると思いますが、
情報の数が明確でないのであれば、一回文字列化して空白の数を調べて配列変数を作り、strtokでNULL以外だった場合atoiで数値にする…などでしょうか…

ただ色々方法はあると思うのでこれが一番いいとは言い切れないと思いますし、エラー処理もきちんと行わないといけません
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: キーコンフィグのシステムを作ろうとしたら・・・
返信数: 9
閲覧数: 3596

Re: キーコンフィグのシステムを作ろうとしたら・・・

みけCAT さんが書きました:
だんごさん さんが書きました:それからコンフィグ設定関数内のAボタンの設定などの部分にある
for (p = 4; p<PADBN; p++)
はアクセス違反を起こします。初期値が4なのに対してカウント数はPADBN分ありますのでその分アクセス違反です。
4はアクセス違反に直接関係ないと思います。
pad_keyは16要素しか確保されていないのに、PADBN-1 (=27)までループしているので、確保された範囲外へのアクセスになります。
あぁ、ホントその通りでした…
PADBNが28だったので配列数もかと勘違いしてました…すみません
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: キーコンフィグのシステムを作ろうとしたら・・・
返信数: 9
閲覧数: 3596

Re: キーコンフィグのシステムを作ろうとしたら・・・

STGbody.cppの113と114行目のifの変数が違います。 それからコンフィグ設定関数内のAボタンの設定などの部分にある for (p = 4; p<PADBN; p++) はアクセス違反を起こします。初期値が4なのに対してカウント数はPADBN分ありますのでその分アクセス違反です。 Pad_Input関数の if (PadInput & mul)のmulは2倍ずつ増えていくようになっていますが、これはあっていますか?パッドのプログラムは作ったことないのですが気になります…。 それから条件が多い場合はswitch文を使うようにしましょう。見にくいだけでなくバグの見落としの原因です。 ま...
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: RSA暗号について
返信数: 15
閲覧数: 12022

Re: RSA暗号について

できました…!
トピックを立てて1ヵ月になりましたが、みなさんありがとうございました!

復号できなかった主な原因として、暗号化した文に終端文字が含まれていることでした。
暗号化した文字列をコピーする際に、256バイト分あるはずが、途中で終端文字に出会い中途半端なところで切られていました。
よって全てのコピー関数をmemcpyにしてサイズ指定することで解決いたしました。

本当にありがとうございました。
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: RSA暗号について
返信数: 15
閲覧数: 12022

Re: RSA暗号について

詳しく調べてみました。
実は送信時にBIGNUMの値をBN_bn2hexで文字列化しています。送りやすいのと管理のしやすさのためです。
文字列化前はnの中身が
top:64
dmax:128
neg:0
となっているのですが、BN_hex2bnでBIGNUMに戻すと
top:64
dmax:64
neg:0
となってしまいます。
これは復号の時に影響が出るものでしょうか?
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: RSA暗号について
返信数: 15
閲覧数: 12022

Re: RSA暗号について

通信の方で詰まっていて遅れてしまいました。
検証ソースありがとうございます!だいぶ出来上がりました。

ですが、現在復号の時にエラーが出てしまいます。
相手から自分の渡した公開鍵で暗号して送ってもらい、こちら側で復号しようとしたところ、
error:0407106B:rsa routines:RSA_padding_check_PKCS1_type_2:block type is not 02
とエラーが出ます。
色々とデバッグしてみたのですが見当たるものはなく、そもそもこのエラーが何を示しているのかが分かりません。
どういった時に出るのか、ヒントをくれませんでしょうか?
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターにアニメーションさせるスピードを遅くしたいのですが。
返信数: 70
閲覧数: 29775

Re: キャラクターにアニメーションさせるスピードを遅くしたいのですが。

正解は1つというわけではありませんが、やはりフレーム数で判定する方法が妥当だと思います。 //1/4の確率 if(rand()%5== 0) {     i--;        //iを-1減算する } これはランダムな値を5で割った余りが0だったらという風に書いています。 もし連続して余りが0の値だったら連続的に動いてしまうし、どちらかというとカクついた感じになると思います。 これまで出てきたフレーム数というのは、whileの繰り返した回数みたいなものです。絶対と言えばウソですが。 単純に static int i = 0; i++; を描画部分に書いたとすると、iの値が描画部分を通った回数...
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: RSA暗号について
返信数: 15
閲覧数: 12022

Re: RSA暗号について

もしPEMファイルに出力せずにRSA構造体のnとeを相手に送ったとして、暗号化関数に渡すRSA構造体の作成はどう行うのでしょうか? 仮にPEMだと、PEM_read_RSAPublicKeyでRSA構造体が返されますが、nとeを送った場合RSA構造体にnとeを直接入れてもいいのでしょうか? おそらく直接入れても大丈夫だと思います。 すみません、自分で「nとeを直接入れてもいいか」と聞きましたがやり方が分かりませんでした…。 nとeを代入する前にRSA構造体は初期化しなければならないと思うのですが、そういった関数はあるのでしょうか? またnとeはbignum_st構造体からなっているのですが、...
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: RSA暗号について
返信数: 15
閲覧数: 12022

Re: RSA暗号について

h2so5 さんが書きました:AESとRSAを組み合わせる、ということしか分からないのでなんとも言えません。
AESの共通鍵をRSAを使い暗号化して送信するために、まずRSAの公開鍵を相手に渡す作業を行いたいです。
説明が下手で申し訳ないです…。

もしPEMファイルに出力せずにRSA構造体のnとeを相手に送ったとして、暗号化関数に渡すRSA構造体の作成はどう行うのでしょうか?
仮にPEMだと、PEM_read_RSAPublicKeyでRSA構造体が返されますが、nとeを送った場合RSA構造体にnとeを直接入れてもいいのでしょうか?
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: RSA暗号について
返信数: 15
閲覧数: 12022

Re: RSA暗号について

h2so5 さんが書きました:目的によります。
だんごさん さんが書きました:前回AES暗号が出来上がりましたので、それをRSAを使って相手に送信したいのです。
すみません。目的は上記ではだめですか?目的とはどういったことでしょうか?
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: RSA暗号について
返信数: 15
閲覧数: 12022

RSA暗号について

前回 (AESの質問)と同じく、RSA暗号について分からない点があり、調べてもあいまいなことしか書いてなかったりそもそも載っていなかったりと不明な点がありますので、こちらで質問させていただきます。 C言語でOpenSSLのRSA暗号を使い通信するソフトを作っています。 前回AES暗号が出来上がりましたので、それをRSAを使って相手に送信したいのです。 質問内容をまとめました。  ・作成した公開鍵と秘密鍵をPEMファイルに出力してそのデータ(公開鍵)を相手に送信するのか。  ・秘密鍵をPEMファイルとして出力した際、セキュリティ的に安全か。  ・そもそも鍵をPEMとして出力する必要があるのか。...
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でOpenSSLを使ったAES暗号について
返信数: 4
閲覧数: 33570

Re: C言語でOpenSSLを使ったAES暗号について

ありがとうございます。
おかげでAES暗号が完成しました。
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でOpenSSLを使ったAES暗号について
返信数: 4
閲覧数: 33570

Re: C言語でOpenSSLを使ったAES暗号について

ありがとうございます。
だいぶ作業がはかどりそうです。

キー生成はAES_set_encrypt_keyか何かでしょうか?
質問ばかりで申し訳ないですがよろしくお願いします。
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でOpenSSLを使ったAES暗号について
返信数: 4
閲覧数: 33570

C言語でOpenSSLを使ったAES暗号について

C言語でOpenSSLを使い、文字列をAES暗号するプログラムを作っています。 ネットで調べて試行錯誤でやっていましたが、もう分からないことだらけなのでトピックを立てました。 質問内容をまとめました。 ・暗号化、復号化関数を呼ぶたびに、初期化関数[EVP_CIPHER_CTX_init],[EVP_EncryptInit_ex]を呼び、最後に終了関数[EVP_CIPHER_CTX_cleanup]を呼ぶべきか。 ・暗号化後にBase64にエンコードし、復号化前に暗号文をBase64にデコードするソースを見かけたが、あれは必要か。 ・キー生成は自分で行うのか。またキーは文字なのか数字のみなのか。...
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: メモリにある構造体を取得
返信数: 2
閲覧数: 1436

Re: メモリにある構造体を取得

あっさりできてしまいました…。情けないです。
ご返信ありがとうございました。
by だんごさん
9年前
フォーラム: C言語何でも質問掲示板
トピック: メモリにある構造体を取得
返信数: 2
閲覧数: 1436

メモリにある構造体を取得

マルチスレッドとSetUseASyncLoadFlagのFileRead_fullyLoad関数などを使って、ファイルから情報の入った構造体のメモリアドレス取得したのですが、そのメモリアドレスからサイズ分を構造体に入れることができずに困っています。
単純な値だと試行錯誤でできるのですが、値が不安定なためどのように値を取得していくのか全く分かりませんでした。
知識不足ではありますが、よろしくお願いします。
C言語
VC++2010
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++で関数呼び出し引数が多すぎます と出る
返信数: 5
閲覧数: 4127

Re: C++で関数呼び出し引数が多すぎます と出る

コード:

int _mkdir(
   const char *dirname 
);
引数は一つです。可変引数ではありません。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作スタイルのウィンドウ
返信数: 11
閲覧数: 4984

Re: 自作スタイルのウィンドウ

…と、諦め切れずに色々と試行錯誤した結果、何とかできましたので報告いたします。 まず、フレームを見えなくする方法としてクライアント領域を広げることで解決いたしました。 case WM_NCCALCSIZE: return 0; 良い方法かどうかは分かりませんが、これが一番いいと思います。 次に、ウィンドウがアクティブになるときにフレームが再描画?されるようでチラつきます。これをなくすために、WM_NCACTIVATEメッセージで0を返すことで解決しました。 case WM_NCACTIVATE: return 0; フレームが非表示(というかクライアント領域)になっていますので、サイズ変更がで...
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作スタイルのウィンドウ
返信数: 11
閲覧数: 4984

Re: 自作スタイルのウィンドウ

あれから色々試してみましたが、結局諦めることにしました。
今度は.NETベースで挑戦してみたいと思います。ご回答ありがとうございました。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームの画面の大きさを変える処理を入れると重くなります
返信数: 3
閲覧数: 2427

Re: ゲームの画面の大きさを変える処理を入れると重くなります

画面切り替え時にハンドルをリセットしない関数を紹介します。 extern int SetChangeScreenModeGraphicsSystemResetFlag( int Flag ) ; // 画面モード変更時( とウインドウモード変更時 )にグラフィックスシステムの設定やグラフィックハンドルをリセットするかどうかを設定する( TRUE:リセットする( デフォルト ) FALSE:リセットしない ) SetDrawScreenはループに入れても構わないと思います。 しかし、おそらく上記の関数を使うことでSetDrawScreen関数もリセットされないはずですので一度呼び出せばよいかと。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: ハンドルからグラフィックのサイズを取得する
返信数: 26
閲覧数: 8108

Re: ハンドルからグラフィックのサイズを取得する

横から突っ込む形になって申し訳ないです。 コードを新米に要求するのもおかしな話ですね。 あなたはコードを挙げたときに初めてC言語歴2週間だと公表しました。 回答者さんは皆、あなたがとてもできる方だと思って今まで答えていたに違いありません。 なにせご自分で計測用プログラムを作るとおっしゃっていますし。 どうやら自分がここに来る度に、先輩方は敵意をむき出しにして、集団で襲い掛かってこられるようですね。 あなたが回答者さんの回答についてほとんど触れずに話を進めているためです。 口先だけで何も作らないだろうと仰っていた名人様もおられますが、何もしないのはどちら様なのでしょう。 確かに、文面からして挑発...
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作スタイルのウィンドウ
返信数: 11
閲覧数: 4984

Re: 自作スタイルのウィンドウ

Google Chromeを使ってないのでネットで見かけたスナップショットから感想ですが、フレーム部分は標準のまま使っていて内側からはみ出しているものもないように見えます。 具体的にどこがどんなふうに特別だと思われたのでしょうか? 私もスナップショットを見て気付いたのですが、そういえばChromeにはテーマを変更する機能があります。私は今標準ではないテーマを適用しているので「特別」だと思っていました。 もしChromeで見るのでしたら、「Google Chrome テーマ」で検索していただければよいかと思います。フレーム部分(というか背景)が自分好みになります。 NCPAINTでフレームを描...
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作スタイルのウィンドウ
返信数: 11
閲覧数: 4984

Re: 自作スタイルのウィンドウ

Mana さんが書きました:正しい情報を知りたければウィンドウスパイツールなどで実際にウィンドウスタイルを確認すると良いでしょう。
Google Chrome のスタイルを調べてみました。

 ・WS_OVERLAPPEDWINDOW
 ・WS_VISIBLE
 ・WS_CLIPSIBLINGS
 ・WS_CLIPCHILDREN
 ・WS_BORDER
 ・WS_DLGFRAME
 ・WS_EX_WINDOWEDGE

OVERLAPPEDWINDOWが指定されている時点で境界線もタイトルバーも作られているようですね…。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作スタイルのウィンドウ
返信数: 11
閲覧数: 4984

Re: 自作スタイルのウィンドウ

タイトルバーはできました。ありがとうございます。

ですが、サイズ変更(Aeroスナップ)については、どうやらウィンドウスタイルでフレームを指定しないと、WM_NCHITTESTで適当な値を返してもダメなようです。
しかしchromeなどのソフトはAeroスナップが効きますし、何らかの方法があるはずです。何か良い方法はあるのでしょうか?
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作スタイルのウィンドウ
返信数: 11
閲覧数: 4984

Re: 自作スタイルのウィンドウ

Mana さんが書きました:WM_NCHITTESTメッセージを処理すればウィンドウのどこでも好きな場所をタイトルバーにできます。
タイトルバーにしたところはどこでもクリックアンドドラッグで移動できるしAeroスナップやAeroシェイクも効きます。
なるほど。WM_NCHITTESTに対して、マウス座標がある範囲内だったらHTCAPTIONを返してあげればいい感じでしょうか?

また同様にサイズ変更のフレーム部分もWM_NCHITTESTで何らかの値を返せばいいということでしょうか?
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自作スタイルのウィンドウ
返信数: 11
閲覧数: 4984

自作スタイルのウィンドウ

ウィンドウをオリジナルにしたいのですが、全て自作するとwindowsのAero機能などが適用されず困っています。
例えば、Google Chrome や、Photoshop が分かりやすい例ですが、見た目は明らかに普通のウィンドウではなく、すべてオリジナルになっています。しかし、タイトルバーを移動するとAero機能などの普通のウィンドウの操作ができます。
これをC言語で作りたいのですが、非クライアント領域への描画以外に何か方法はありますか?
また、質問とは離れてしまいますが、タイトルバーにOfficeボタンみたいなオブジェクト?を付けるのはどのように行っているのでしょうか?
よろしくお願いします。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 録音デバイスを無効にすると動作しない
返信数: 1
閲覧数: 1620

録音デバイスを無効にすると動作しない

waveInOpen系の関数を使い、録音デバイスからの入力データを表示させるプログラムを作ったのですが、録音デバイスがどれか無効になると動作が止まってしまいます。調べてみると、waveInGetDevCapsやwaveInGetNumDevsなどの関数が返ってこないようです。この関数なしでは作れないので、どうしても直すことができません。 リファレンスには " 戻り値 関数が成功すると、デバイス数が返ります。デバイスが存在しないか、エラーが発生した場合は、0 が返ります。 " と書いてありました。 しかし、デバイス数が2つあっても1つ無効にすると止まってしまいます。 この関数を使わなくとも、とり...
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: 透過処理した画像の表示について
返信数: 13
閲覧数: 4004

Re: 透過処理した画像の表示について

龍神録プログラミングで出てくるgraph_board()あたりの関数の
DrawGraphの最後の引数をTRUEにしてみてはいかがでしょう?

背景とは何もない黒い部分ですかね…。
何か私勘違いしてそうなので気にしなくてもいいです。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: PC内の音をプログラムで取得する方法
返信数: 9
閲覧数: 8021

Re: PC内の音をプログラムで取得する方法

はい、8ビットに設定してるので大丈夫です
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: PC内の音をプログラムで取得する方法
返信数: 9
閲覧数: 8021

Re: PC内の音をプログラムで取得する方法

1バイトずつ取ってみると、きちんと整数が入っていました。
無事に取得することができました。
ありがとうございました。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: PC内の音をプログラムで取得する方法
返信数: 9
閲覧数: 8021

Re: PC内の音をプログラムで取得する方法

wavein系のAPIでPCMのデータを受け取ることまではできました。
しかし、そのPCMのデータのどこの部分が波形として表示させるべき場所でしょうか?
データはchar型ですが数値として取る場所がわかりません
今は携帯の投稿なので詳しく書けませんが、どうぞよろしくお願いします
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: PC内の音をプログラムで取得する方法
返信数: 9
閲覧数: 8021

Re: PC内の音をプログラムで取得する方法

softya(ソフト屋) さんが書きました:たぶん、仮想ドライバを作らないと出来ないかもしれません。
そうですか…。
どうやらwindowsのドライバ開発キットはVCの有償版にしか対応していないようで、お金のない私にはドライバの開発が行えないようです。
他の方法があるのかもしれませんが、そこまでして作りたいわけでは無いのであきらめます。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: PC内の音をプログラムで取得する方法
返信数: 9
閲覧数: 8021

PC内の音をプログラムで取得する方法

PC内で鳴っているあらゆる音のレベル?を取得したいのですが、いい方法が見つかりません。
音量ミキサーを開いたときのスピーカーの欄に、音量を変更するバーがありますよね。そのバーの中に音のレベルに合わせて上下する灰色と緑のものがありますが、その値を取得したいです。
音のレベルと言っていいのかわかないので検索しようもなく、調べても現在のマスター音量を取得するものくらいしか見つかりません。
何か方法はありますでしょうか?

windows7
VC++2010
C言語
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: doubleの計算結果が異なる
返信数: 9
閲覧数: 3755

Re: doubleの計算結果が異なる

DxLibには既に精度を変えるかどうかの設定ができる関数がありました。
SetUseFPUPreserveFlag( true );
を初期化前に呼び出すことで精度を落とさず、計算結果が正確に出るようになりました。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: doubleの計算結果が異なる
返信数: 9
閲覧数: 3755

Re: doubleの計算結果が異なる

ISLe さんが書きました:DXライブラリ(というかDirect3D9)を使う必要があるのでしょうか。
確かに使用しなくても実装できそうですが、今の私の知識ではできるかどうか…

別の方法を探してみます。ご返信ありがとうございました。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: doubleの計算結果が異なる
返信数: 9
閲覧数: 3755

Re: doubleの計算結果が異なる

ISLe さんが書きました:その場合、double型の値でもfloatの精度で計算されますし、代入で誤差が発生する可能性もあります。
なるほど…。
どうやら大きい数で計算を行った時の結果もおかしな値が返ってきます。
移植前ので計算したら正しいのでこれも精度が原因だと思います…
double型ではないと困りますね…。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: doubleの計算結果が異なる
返信数: 9
閲覧数: 3755

Re: doubleの計算結果が異なる

移植前も移植後も、以下のコードを書いてデバッグして確認しただけです。

コード:

double d1 = 2.2,d2 = 2.2;
double sum= d1 + d2;
あえて動くようにするなら、

コード:

#include <stdio.h>
int main( void ){
	double d1 = 2.2,d2 = 2.2;
	double sum= d1 + d2;

	printf("%.15g",sum);
	return 0;
}
質問に書いた以外に2つの違いとして言えば…DOS(移植前)とDxLib(移植後)くらいでしょうか…。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: doubleの計算結果が異なる
返信数: 9
閲覧数: 3755

Re: doubleの計算結果が異なる

h2so5 さんが書きました:「私のソフトで実行」と「普通に実行」の違いが分かりません。
「私のソフトに移植して実行」と、「移植せずにコピペだけで実行」です。
申し訳ないです。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: doubleの計算結果が異なる
返信数: 9
閲覧数: 3755

doubleの計算結果が異なる

リンク 知恵袋だと何度も返信できないのでこちらでも質問させていただきます。 リンク先は説明不足なのでこちらで書きます。 こちら の電卓のコード↓を自分のソフトに移植しました。 #include <stdio.h> // printf, puts, fgets #include <stdlib.h> // strtod #include <ctype.h> // isspace, isdigit #include <math.h> // pow unsigned char c; const char *p, o[] = "+-*/^ "; double m[26]; int get(void)...
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: インターネットの接続状態を取得したい
返信数: 11
閲覧数: 7712

Re: インターネットの接続状態を取得したい

h2so5 さんが書きました:僕の環境でWireSharkを使ってパケットをキャプチャしてみたところ、ルーターに対してUPnPでグローバルIPアドレスが有効かどうかを尋ねていました。(応答が帰ってきた瞬間に共有センター上での表示が変わったので判断基準の一つになっていると思われます)
わざわざ調べていただきありがとうございます。UPnPについてはあまり詳しくないので、調べてみたいと思います。

色々と試してみましたが、結局取得できなかったり関数が対応していなかったりと、どれもうまくいきませんでした。
なのでwinsockを使いたいと思います。
ご返答ありがとうございました。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: エラーがおきる
返信数: 4
閲覧数: 2173

Re: エラーがおきる

同様に「敵について」の2番目、159行目もエラーを起こしたコードと同じ動きをしているように思いますが、こちらはどうでしょうか?

コード:

for(int j=0;j<MAXENEMY-1;j++){
    memset(&enemy[j],0,sizeof(enemy));
}
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: インターネットの接続状態を取得したい
返信数: 11
閲覧数: 7712

Re: インターネットの接続状態を取得したい

softya(ソフト屋) さんが書きました:ない場合は、winsockを使うことを検討された方が良いのでは?
winsockでどこかのサイトにつながるかを試すということですね、考えてみます。


画像
上の画像の「インターネット」から「このコンピューター」までの間が繋がっているかそうでないかを調べたいだけなんですが…。この共有センターはどうやって取得しているんでしょうか?
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: インターネットの接続状態を取得したい
返信数: 11
閲覧数: 7712

Re: インターネットの接続状態を取得したい

softya(ソフト屋) さんが書きました:h2so5さんの言われるように片っぱしから大手サイトにアクセスを掛けてみるしか無いです。
そうですか・・・
みけCAT さんが書きました:環境によっては80番ポートと443番ポートが塞がれているけど、8080番ポートは使える、ということもあるので、
そのようなケースも考えないといけないかもしれません。
なるほど。参考にします
zeek さんが書きました:InternetCheckConnection() はどうでしょうか?
だんごさん さんが書きました:InternetCheckConnectionは接続できないときに一時フリーズする致命的なことが起こるので使えません。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: インターネットの接続状態を取得したい
返信数: 11
閲覧数: 7712

Re: インターネットの接続状態を取得したい

h2so5 さんが書きました:オンライン状態の基準を明確にしないと判断しようがないと思います。
説明不足で申し訳ないです。
たとえばブラウザを開いて(相手のサーバーがどうであれ)、とりあえずどれかには繋がったという情報が欲しいです。あるサイトだけが何か制限で引っかかって繋がらなくとも、別のサイトが開けたら「繋がっている」としたいのです。
要するに外部に接続できるかということです。(接続できる環境かどうかではない)
説明が下手で申し訳ない…
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: インターネットの接続状態を取得したい
返信数: 11
閲覧数: 7712

インターネットの接続状態を取得したい

windowsでインターネットに接続できるかを取得したいだけなのに調べてみると良い方法が出てこずに困っています。 まず、InternetAttemptConnectは「接続環境」を調べるので使えず、InternetCheckConnectionは接続できないときに一時フリーズする致命的なことが起こるので使えません。(マルチスレッドはアプリの仕様上避けたいです) InternetGetConnectedStateは引数の使い方がいまいち分からず正しく取得できない(戻り値も正しくない)、またキャッシュを使っているのか環境によって反映までが長かったりするらしく、使い勝手が悪かったです。(自分のせいで...
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: windowsで最背面表示
返信数: 20
閲覧数: 10604

Re: windowsで最背面表示

デスクトップ表示で座標の変化が見られず、うまく表示させることができませんでした。 色々調べてみましたが、デスクトップの表示時の挙動は最小化ではなくそれ専用のウィンドウの表示が行われているだとか、結局情報が様々で本当の動きが分かりませんでした。 またプログラムマネージャーに子ウィンドウをセットしても隠されてしまうし、クラスネームにWorkerWという名前のものは見つかりませんでした(Aeroを使用しています)。 デスクトップの表示を押された時のメッセージを調べましたが、どれも反応がありませんでした。 調べたメッセージは以下の通りです。 WM_MOVE,WM_SIZE,WM_ENABLE,WM_S...
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibのマウスの挙動について
返信数: 15
閲覧数: 6124

Re: DxLibのマウスの挙動について

kgtekito さんが書きました:

コード:

        if ((*it).first & GetMouseInput()) //今のフレームの状態を格納
C++の評価する順番は分かりませんが、if ( ((*it).first & GetMouseInput()) )とカッコをつけて、先に代入するようにしてみてはどうですか?
変わらなかったらすみません。。
by だんごさん
10年前
フォーラム: C言語何でも質問掲示板
トピック: windowsで最背面表示
返信数: 20
閲覧数: 10604

Re: windowsで最背面表示

ウィンドウメッセージを調べてみると『デスクトップを表示』のときは、ウィンドウが遥か彼方の座標に移動してますね。 なるほど。座標が変わっていたら元に戻す作業で表示できるかな?やってみます。 SystemParametersInfo関数でSPI_GETWORKAREAを指定すればできるかもしれません。 ありがとうございます、この方法でタスクバーは避けて作れました。 POPUPスタイルのウィンドウだと最大化したときにタスクバーも隠れるようです。 なるほど!勉強になりました 実は画面上の透明以外(画像等)をクリックしてアクティブ化にすると、最背面処理関係なしに、タスクバーの反応に1秒程度ラグが出ます...

詳細検索ページへ移動する