検索結果 939 件

by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 動的な関数の追加
返信数: 14
閲覧数: 2075

Re: 動的な関数の追加

「何のためにやるのか」がわからないので,なんとも回答しにくいのですが……。 動的リンクと実行時コンパイル、プラグインについて調べてみました。 私の認識では、関数の中身を外部に置くことは出来るように思いました。 つまり、実行時に.soファイル内の関数を利用する感じです。 ですが、その場合、事前に関数名を知っておく必要があると思います。 プラグインの場合はホスト側が関数シグネチャを指定します。 関数名に関しては,別の方法で指定できれば指定内容に含める必要がなかったりしますが。 e.g.) WindowsでのGetProcAddress APIのように関数名から関数へのポインタを取得できれば呼び出せ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 動的な関数の追加
返信数: 14
閲覧数: 2075

Re: 動的な関数の追加

関数シグネチャは固定にしないといけませんが,
  • 動的リンク (DLLやsoなど)
  • 実行時コンパイル (Java/.NETなどのJIT等が代表例)
で関数へのポインタを得ることができれば,あとは通常の関数ポインタと同じ取り扱いで呼び出すことが出来ます。

検索するならば,「プラグイン」あたりを検索のワードとして用いるのがよいかと思います。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の代入について
返信数: 5
閲覧数: 1252

Re: 配列の代入について

前提条件として,言語をCとします。 char str[10]; str[0] == ′a′; 上のように0番目の値だけ代入した場合、1番目以降の要素はどうなっているのでしょうか? strが自動記憶域期間を持つならば不定 静的記憶域期間またはスレッド記憶域期間を持ち,他に明示的な初期化が行われていないならば0 (正負の0があるなら正の0) です。0番目に代入したから,というよりも,初期化子無しで宣言した時の規則になります。 6.7.9 Initialization 10 If an object that has automatic storage duration is not initial...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 音声合成を搭載したい!
返信数: 13
閲覧数: 1775

Re: 音声合成を搭載したい!

使ったことが無いですが,MSDNあさるとSpeech Technologiesなんてのがあり,Microsoft Speech Platform Native Code API DocumentationなんてのがあるのでC/C++から扱うこともできそうに思います。
APIの記述が通常のAPIと異なる (そもそもv=office.14とかURIについている) ので,そのあたりの読みにくさに難点はありますが……。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の対角化
返信数: 16
閲覧数: 2585

Re: 配列の対角化

上のプログラムは以前質問させていただいた乱数を用いた行列生成です。このソースコードは乱数で生成された行列なので対角優位ではない行列なので、乱数を用いた行列を対角優位になる行列に変換するにはこのソースコードに何を付け加えればいいのか詳しく教えて欲しいです まず最初にすべきは,コードに手を付けることではなく,「対角優位になる行列に変換する」に関する数学的な定義なり方法なりをきちんと記述することです。 とにかく対角優位な行列を生成したいというのであれば,先に書いた方法や,ループを回して対角優位な行列が出てくるまで生成し続けるというような力業を使えばよいので。 というか,単位行列を含む対角成分が全て...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の対角化
返信数: 16
閲覧数: 2585

Re: 配列の対角化

そもそも,行列が対角優位であるというのは特定の条件を満たす行列のことを言うのですよね。 ある行列が対角優位であるかを判定することは出来ますが,ある行列を対角優位に変換するというのは,別の行列を作ることになります。 なので,条件をちゃんと付けない限り, 対角優位になるようにする のは,(有意かどうかは別にして) 方法は無限にあると思います。 極端な話,零行列をかけたあと0を除く実数倍した単位行列を足した行列はすべて対角優位になりますが,元の行列の性質等は一切なくなります。 何らかの目的を持ってある行列を対角優位にしたいのであれば,別の条件が付与されるはずです。 その条件等を書かないと,目的に合っ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: お願いします。
返信数: 4
閲覧数: 2003

Re: お願いします。

s.c:62:32: 警告: 複数文字からなる文字定数 [-Wmultichar] strftime(buff, sizeof(buff), '%Y', time_inf); そのまんまで,文字定数として'%Y'と,2文字(%およびY)が指定されています。 Cの文字定数の定義上複数文字を含むことは許されますが,現実的にはほとんど使われません。 このため,このような警告が発生しています。 実際には"%Y"という,「文字列定数」を利用したいのではないでしょうか。 # 単引用符'ではなく二重引用符"で囲う s.c:62:3: エラー: プログラム内に逸脱した ‘\357’ があります strfti...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3をDxLibのプログラムに組み込めない
返信数: 17
閲覧数: 2313

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

また、デバッガを使って調べたところ、148行目のsqlite3_exec(ItemDB, item_having_SQL, itemAllCallback, &ItemList, &errMsg)でエラーが発生していることがわかったので、次にitemAllCallback関数内にブレークポイントを設定して調べてみると、28行目のcommentの部分でエラーが発生しました。 そもそも,ItemTable::Commentの型は何ですか。 また,「エラーが起きた」時の「data[6]」の値は何ですか。 # 不定なポインタなのか,nullポインタなのか,それとも何らかの文字列を指しているのか,文字...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3をDxLibのプログラムに組み込めない
返信数: 17
閲覧数: 2313

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

prepared statement について今調べてみたのですが、1つわからない点があります。 以下に現在のコードを貼らせていただくので、それを参照していただくとわかりやすいかと思います。 わからない点というのは、テーブルから値を抽出するときに、146行目のように、コールバック関数を参照しなければいけないと思うのですが、prepared statementだとコールバック関数が使われていません。この場合、どのようにしてテーブルから抽出したデータを受け取ればよいのでしょうか? sqlite3_exec の説明の先頭に答えがあると思うのですが……。 sqlite3_execは, sqlite3...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3をDxLibのプログラムに組み込めない
返信数: 17
閲覧数: 2313

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

ところで,メッセージループ内でCREATE TABLEとINSERTを毎回やっているようですが,これはControlクラス生成時に一回,もっと言えばインストール時に一度行えばよいことではないでしょうか。
おそらく,CREATE TABLEは失敗しているはずですし,INSERTによってデータが繰り返し大量にデータベースに含まれることになるかと思います。

あと,sprintfによるSQL構築は,どうしてもInjectionが気になります。
秘匿データが含まれるわけではないので致命的にはならないでしょうけれど,プリペアードステートメントを使った方が安全ですし効率もよいかと思います。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: strcmp関数がうまく動作しない。。。
返信数: 4
閲覧数: 2134

Re: strcmp関数がうまく動作しない。。。

fgetsは領域が足りている場合,行末の改行\nまでバッファにコピーします。
比較対象には\nが含まれませんから,当然文字列は一致しません。

28行目を

コード:

printf("[[%s]]\n", fileString);
のようにしてみると,]]が次の行に表示されると思います(=fileStringの末尾に改行文字が含まれている)。

対処としては,fileStringの末尾の改行文字を\0に置き換えるか,比較対象の文字列に\nを加えておくか,となるかと思います。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: VC++とVC#のテキストファイルなどの参照の違いについて
返信数: 6
閲覧数: 886

Re: VC++とVC#のテキストファイルなどの参照の違いについて

解決済みとされていますが,この場合だと,C#に関しては別解があります。 まず,data1.txtのプロパティで「出力ディレクトリにコピー」を「常にコピーする」若しくは「新しい場合はコピーする」に設定しておきます。 すると,ビルドプロセス中で自動的にファイルがコピーされます。 プロジェクトのフォルダ中に入れてこの設定にすると,フォルダ構成ごとコピーされます そして,ファイルを開くときは実行ファイルのパスを元に指定します。 この方法であれば,ディレクトリ構成が変わっても問題なく実行できます。 絶対パスを記述する方法は特定の環境だけでしか実行できなくなってしまうので,勉強段階であってもできるだけ避け...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: scanfが使えない。
返信数: 5
閲覧数: 3654

Re: scanfが使えない。

同じように修正してみたのですが、エラーが解決されません、 どこか間違っている点は、あるのでしょうか? C4477の警告内容が全てを物語っています。 source.c(16): warning C4477: 'scanf' : format string '%d' requires an argument of type 'int *', but variadic argument 1 has type 'int' 訳) source.c(16): 警告 C4477: 'scanf' : 書式文字列'%d'は'int *'型の引数を必要としますが,(それに対応する)最初の可変個引数の型は'in...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: scanfが使えない。
返信数: 5
閲覧数: 3654

Re: scanfが使えない。

C4996とC4477のエラーがでてしまいscanfが使えません。 #define _CRT_SECURE_NO_WARNINGS 1 #pragma warning(disable : 4996) など試してみたのですが、エラーが解決されません。 _CRT_SECURE_NO_WARNINGS をdefineする場所は,stdio.hをインクルードするより前にありますか。 stdio.hがインクルードされた時点での_CRT_SECURE_NO_WARNINGSの定義の有無に依存するので,stdio.hがインクルードされるより前に定義されていないと意味がありません。 stdafx.hでインク...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: VBAのセルの色変更
返信数: 3
閲覧数: 639

Re: VBAのセルの色変更

Worksheets("問1").Range("ij").Interior.ColorIndex = 2 + V "ij"という表記では,変数iおよび変数jの値は利用されないことは理解されていますか。 変数iおよび変数jの値を文字列として扱うならば, Trim(CStr(i)) & Trim(CStr(j)) のように,文字列化して連結する必要があります。 ただし, Workspace.Range プロパティ の第1引数は, A1形式のセル参照文字列 A1:A1形式のセル範囲参照文字列 A:A形式のセル範囲参照文字列 (列全体) 1:1形式のセル範囲参照文字列 (行全体) ローカルに定義した...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: winsockのエラーについて教えてください
返信数: 7
閲覧数: 1857

Re: winsockのエラーについて教えてください

何故サーバとクライアントが繋がらないかが不明です… 「繋がらない」をどうやって確認しましたか。 元のコードを見る限り,サーバー側のFD_ACCEPT時のコードにブレイクポイントを設定したのでしょうか。 WSAEWOULDBLOCK はエラーとして通知されますが,非同期通信を行う場合においては,実質的にはエラーではありません。 非同期通信をする場合,WSAEWOULDBLOCKが発生する前提でプログラムを組む必要があります。 なお, WSAAsyncSelect のRemarksにあるように,コールバックメッセージのwParamにはメッセージを発生させたソケットが含まれます。 これを使うと複数...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 転置行列を計算する c言語
返信数: 7
閲覧数: 2248

Re: 転置行列を計算する c言語

数学的にAからtAを求める方法がわかんないです。 えーと,その回答は予想外だったのですが……。 転置行列がわからない,ということでしょうか。 元の行列Aの(i, j)成分がa ij の時,転置行列 t Aは(i, j)成分がa ji からなる行列になります。 簡単に言うと,左上から右下に線を引いたときに,その線を対称軸として成分をひっくり返した行列になります。 例えば行列が 1 2 3 4 5 6 7 8 9 の時,転置行列は 1 4 7 2 5 8 3 6 9 になります。 このあたり,大丈夫でしょうか。 おそらく,大学の線型代数で出てくると思いますが,転置行列とは何かを知るだけであれば ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 転置行列を計算する c言語
返信数: 7
閲覧数: 2248

Re: 転置行列を計算する c言語

何がわからないのでしょうか。 根本的に,数学的にAから t Aを求める方法がわからない プログラムを作成する方法が (Hello, worldレベルでも) わからない nを入力させる方法がわからない n次正方行列を保持するだけの配列を用意する方法がわからない 行列Aの入力方法がわからない 入力された行列Aから転置行列 t Aを求める方法がわからない t Aを表示する方法がわからない その他 この掲示板では宿題の丸投げは禁止されています (フォーラムルール参照)。 ただ,禁止されていなくても「何がわかって何がわからないか」をはっきりと伝えないと,だいたいの掲示板等で求めるような情報が出てこないと...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: MIDIプログラミングやりたいんだが
返信数: 9
閲覧数: 1615

Re: MIDIプログラミングやりたいんだが

LNK 2019 未解決の外部シンボル_WinMain@16が関数"int__cdecl invoke_main(void)" (? invoke_main@@YAHXZ)で参照されました。 コンソールアプリケーションでないWindowsアプリケーションにおいて,エントリポイントは基本的に WinMain (またはwWinMain) であって,main (またはwmain) ではありません。 /ENTRY リンカオプションでエントリポイントは変更できますが,へたに変更するとCRT等の初期化すら行われないため,通常の用途では利用できません。 コンソールアプリケーションでないWindowsアプリ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: MIDIプログラミングやりたいんだが
返信数: 9
閲覧数: 1615

Re: MIDIプログラミングやりたいんだが

LNK2019 未解決の外部シンボル_imp_midiOutOpen@20が関数_mainで参照されました。 LNK2019 未解決の外部シンボル_imp_midiOutClose@4が関数_mainで参照されました。 LNK2019 未解決の外部シンボル_imp_midiOutShortMsg@8が関数_mainで参照されました。 LNK2019 未解決の外部シンボル_imp_midiOutReset@4が関数_mainで参照されました。 LNK2019 は,MSDNライブラリにあるような状況の他,インポートライブラリをリンクしていない場合にも発生します。 そして,例えば midiOutO...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: ニュートン法 関数ポインタ
返信数: 2
閲覧数: 418

Re: ニュートン法 関数ポインタ

引数としてfuncおよびdfuncとして渡されているのだから,それをそのまま使えばよいのではないでしょうか。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 初心者
返信数: 5
閲覧数: 797

Re: 初心者

仕様に決められていないことに関して,どう振る舞うかは実装者に委ねられています。 それが問題のある振る舞いでないならば,実装ごとに振る舞いが異なっていてもそれは許容される範囲になります。 その許容される範囲も明文化されているものではないですから,実際には想定される範囲で調べるしか範囲を知る方法はありません。 想定される範囲を決めるのは提供者であるあなたですから,あなたが想定される範囲で調査する必要があります。 そもそも,アクセス解析とありますが,どのようにアクセス解析を行っているのかもわかりませんし。 >>で,どのURIがReferer Fieldに設定されるかというと,サーバーから300番台の...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 初心者
返信数: 5
閲覧数: 797

Re: 初心者

リファラというのは,HTTPにおけるReferer Header Fieldのことでしょうか。 であれば, RFC 7231 Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content によると, Referer = absolute-URI / partial-URI とのことなので,Referer Header FIeldにはひとつのURIしか指定できません。 で,どのURIがReferer Fieldに設定されるかというと,サーバーから300番台のStatus Codeが返った場合,RefererにはOriginページが設定...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: mody逆元計算
返信数: 14
閲覧数: 2861

Re: mody逆元計算

気になっていたのと,それが障害になっているように感じたので。 表現 X mod Y とあった場合,どうもライトニングさんは「YをXで割った余り」というように使っているようですが,通常,「XをYで割った余り」という意味で使います。 合同式で expr1 ≡ expr2 (mod X) とあれば,「Xを法としてexpr1とexpr2は合同」,つまりexpr1をXで割った余りとexpr2をXで割った余りは等しい,という意味です。 11mod5と書かれている場合,通常の感覚では11を5で割った余りですから1に等しく,これはの乗法単位元ですから,乗法における逆元は1になります。 5 mod 11であれば...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: PLAYSTATION2まで作れる
返信数: 8
閲覧数: 2001

Re: PLAYSTATION2まで作れる

私も調べる気もおきませんし,真面目に反論するのもばかばかしいですが……。  Ghzは、将来、レーザー光線レベルの周波数だから、禁止されるでしょう。400MHz以下しか作られないでしょう。もう少し、物理学を勉強しろ。 「もう少し、物理学を勉強しろ」と他人に言う前に,ご自身が勉強なされた方がよいと思います。 レーザーは指向性が強い・位相が揃っているといったような特定の性質を持った電磁波であって,特定の周波数帯の物をのみを意味するわけではありません。 そもそも,「レーザー光」というからには光 (赤外線・可視光線・紫外線あたり)でしょうから,少なくとも周波数が3THz以上を指すと思います。 周波数にし...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: mody逆元計算
返信数: 14
閲覧数: 2861

Re: mody逆元計算

yの逆元とあるのですが,yはどういう集合に含まれていて,どういう演算に対する逆元なのですか。
それがわからないと,逆元の計算自体が定義されないため,答えようがないと思うのですが。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: ライセンスについて
返信数: 4
閲覧数: 607

Re: ライセンスについて

今手元にmicrosoft officeのCD-ROMがありますが、ライセンスが通りません。 パッケージとして売られている物や,ボリュームライセンス品 (MSDN含む) であれば,電話認証のオペレータ経由でライセンス認証は通せるかと思います。 一応,ライセンス上では,追加条項 I条の第2項に お客様が本ソフトウェアを新しいコンピューターに移管する場合は必ず、本ソフトウェアを以前のコンピューターからアンインストールする必要があります とあるので,アンインストールしないといけないことにはなっていますが,MSのAnswersにもあるように,アンインストールはMSのライセンスシステム上での認証解除を...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: OSのライセンス料について
返信数: 7
閲覧数: 1000

Re: OSのライセンス料について

20台だと,完全にボリュームライセンスの世界かと。 管理を考えるとWindows Server + Active Directory使うとして, ServerのユーザーCALが必要 クライアントもProfessional以上が必要 となるので,どう考えてもOpen ValueかOpen Value Subscription。開発でMSDN使うなら1つからOpen Licenseで購入できます。 Microsoft Officeに関しては,Office 365 Bussinessとの比較になりますが。 AD以外のディレクトリサービスでもよいけれど,ADに比べてあまり使われていない印象 ボリューム...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: newしたクラスをdeleteしたい。
返信数: 6
閲覧数: 762

Re: newしたクラスをdeleteしたい。

「必要がなくなったら」はどうやって判断するのでしょうか。
  • 判断する方法があって,判断するタイミングがあるならば,そのタイミングでdeleteすればよいです。
  • 判断する方法があって,判断するタイミングがないのであれば,判断するタイミングとして適する箇所を考えてそこで判断し,deleteすればよいです。
  • 判断する方法がないのであれば,どうしようもない,としか言いようがありません。
「必要がなくなったら」の条件次第では,スマートポインタ等を利用する事ができるかもしれません。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 資格試験の勉強
返信数: 4
閲覧数: 622

Re: 資格試験の勉強

ゆうゆう さんが書きました:このような出力をしたいのですがどうすればよいですか?
そのように出力するように,コードを書いてコンパイルして,実行すればよいと思います。

ref) http://dixq.net/forum/viewtopic.php?t=17172
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 以下の内容の記事を探すキーワードを教えてください
返信数: 4
閲覧数: 556

Re: 以下の内容の記事を探すキーワードを教えてください

PreprocessorだったりTranslatorだったりConverterだったりCompilerだったりしますが,作者が決めたあと,まわりがどう呼ぶか,だけなので決定的な名前はないかと。

今回の場合は,構文解析をしてそこから構文木を作り,それをCの構文にあうように修正して出力する必要があると思うので,cfrontと同じくCompilerと呼ぶのがしっくりくる気がします。
※cfront : 最初のC++ (というかC with classes) のコンパイラ。C++のソースコードを処理してCのソースコードを出力していた。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: ピタゴラスの定理
返信数: 2
閲覧数: 889

Re: ピタゴラスの定理

ピタゴラスの定理を満たすa,b,cを求める問題で、条件はbとcは100未満でb<cの関係を持つことなんですが、 一度考えてみたのですが、2重ループを使えばいいのはわかるのですが、aをどのようにすればうまく求めることが出来ますか? えーっと,a, b, cに他の条件はないのでしょうか。 少なくとも,b, cについて整数という条件が付いていないと無限に解が出てくるのですが。 とりあえず, a, b, cがすべて正整数 ※三角形の辺の長さが0以下はありえない aが直角三角形の斜辺 という条件を付けます。 この条件下で,まず,b と cの取り得る値の範囲は簡単に定まります。 つまり, b : 1 以...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: プロキシサーバー
返信数: 1
閲覧数: 580

Re: プロキシサーバー

pc さんが書きました:プロキシーサーバーって誰が運営してるんですか?
プロキシの実行者,としか言い様がないかと。

例えば,有名なデバッグプロキシであるFiddlerは,それを実行している人が(通常は最大でもローカルネットワークの範囲内で)サービスを提供することになります。
オフトピック
個人開発はともかく,複数人によるweb開発を行っている場合に,非プログラマのマシンの通信をキャプチャする目的でLAN内で実行されているFiddlerをプロキシとして設定する事はあります。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 バイナリサーチについて
返信数: 6
閲覧数: 1740

Re: C言語 バイナリサーチについて

現状はgccでコンパイルすると32:2: error: initializer element is not constant static int right = n - 1;とエラーが表示されます。 これは変数の値を代入することで初期化はできないということは理解しているつもりなのですが手詰まりでどうしようもない状態です。 ではなくて,staticな変数は定数式か文字列リテラルでしか初期化できない,というものです。 ISO/IEC 9899:2011 / 6.7.9 Initializer / ¶4 All the expressions in an initializer for an ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: WinAPIでプログラム実行中に画像をコピペなどができるようにしたい
返信数: 1
閲覧数: 377

Re: WinAPIでプログラム実行中に画像をコピペなどができるようにしたい

とりあえず,Winidowsのクリップボードの話と仮定します。 OpenClipboard でクリップボードを開き, GetClipboardData に CF_BITMAP を与えることで,Bitmapがクリップボードに設定されていればHBITMAPが取得できます。 また,クリップボードを開いた後に画像のHBITMAPを( EmptyClipboard 後に) SetClipboardData することで,クリップボードに画像を設定できます。 最終的に,処理後には CloseClipboard でクリップボードを閉じる必要があります。 詳しくは, Clipbaord (MSDN) を参照して...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 1912

Re: タイムについて

整数を整数で割った結果は,整数になります。
片方を浮動小数点数にすれば,浮動小数点数の型になるので,小数部も計算されます。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 大文字小文字を区別する正規表現について
返信数: 5
閲覧数: 1371

Re: 大文字小文字を区別する正規表現について

C PHP さんが書きました:このようにしても、エラーになってしまいました。
; [a_z][a_z]-[a_z][a_z]
エラーになる,というのは何の情報も提供していません。
  • 利用している正規表現エンジン (or 言語,アプリケーション,etc.)
  • 実際に出てきたエラーメッセージ
を書いてください。

とりあえず,範囲指定がしたいのであれば,_ではなく-だとは思いますが。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: [Winsock2]受信パケットサイズの取得について
返信数: 2
閲覧数: 970

Re: [Winsock2]受信パケットサイズの取得について

UDP Datagramのサイズを取得する方法は用意されていないので,
  • 通信プロトコル上,サイズがわかるようにする (固定サイズのパケットのみを通信する等)
  • Datagramの先頭付近にサイズを含めておいて,PEEKした時に取得する
  • IPv4のUDPは高々64Ki Octetなので,最初からそれだけのサイズを確保してしまう (通信プロトコル上の制限があるならその値を利用)
というのが素直な実装かと。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 数列の作成
返信数: 19
閲覧数: 3921

Re: 数列の作成

アドバイスも何も,すでに私が生成方法の一例を書いていますが何か不足でしょうか。

あと,例示されている数列(1,3,5,9,20....n)や(1,3,5,9,25,56,100....)は超増加列ではないのですが,なぜ超増加列を作りたいというのに超増加列ではないものを例示するのでしょうか。
というか,同じ間違いをしているところを見ると,超増加列でないことに気がついていないのでしょうか。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 数列の作成
返信数: 19
閲覧数: 3921

Re: 数列の作成

単純に,それまでの要素の総和に1以上の乱数を足せば,毎回異なる超増加列が得られます。
A1 = R
ANi=1N-1Ai + R
ただし,Rは1以上の乱数。

暗号で利用するので,本来乱数はCSPRNGである方が望ましいでしょう。
ただ,単に作ってみたいというだけであれば,まずセキュアではないですが,randで代用してしまってもよいかと。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: mod計算?
返信数: 6
閲覧数: 1323

Re: mod計算?

やっぱり,整数の剰余類環上での話ですね。 Wikipediaの該当ページにおける変数の使用方法におけるq,rについて,互いに素が条件なのでqは素数である必要は無く,剰余体上の話とは限らない であれば,w -1 の説明は混乱を避けるために,wの-1乗ではなくwの(乗法の)逆元と書いてください。 で,互いに素な整数の乗法の逆元を求めるには, 拡張ユークリッド互除法 というものを使います。 まぁ,実際はwとqの組を求めるときに ユークリッド互除法 を使って調べて,その途中結果からw -1 も求めておけばよいと思います。 そして,wは暗号にも復号にも使わないので,秘密鍵としてwのかわりにw -1 を保...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: mod計算?
返信数: 6
閲覧数: 1323

Re: mod計算?

剰余類環,というか剰余体上の話ですか?
オフトピック
じゃないとw-1とmod演算が同時に定義されない気がするのだけど。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 正規表現について
返信数: 9
閲覧数: 852

Re: 正規表現について

試してみましたが、できませんでした。 ”<meta property="og:description" content="([^"]*)"/>”この正規表現を実行して結果下記のようになり、タイトルが取れていませんでした。 ['<meta property="og:description" content="'] タイトルが日本語だから表示されない、など関係あるのでしょうか? そもそも,結果がこのようになることはない (「"/>」というリテラルで終わる正規表現なので,マッチしたならば必ずこの文字列で終わる) のですが,どのように確認したのでしょうか。 putwsやstd::wcoutなどを使っ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 正規表現について
返信数: 9
閲覧数: 852

Re: 正規表現について

XML (XHTML) 前提であるなら,正規表現

コード:

<meta property="og:description" content="([^"]*)"/>
という方法があるかと思います。
XML中で属性値が"で終わるので,"以外の文字のみ含む,という考え方です。
# 属性値としての"は"になるので,"は存在しないとして取り扱える。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: hostsファイルを書き換えで別ページへジャンプしたい
返信数: 4
閲覧数: 535

Re: hostsファイルを書き換えで別ページへジャンプしたい

hostsファイルの役割を理解されているでしょうか。

hostsファイルは,ドメインのIPアドレスの解決時に,静的な解決方法をローカルに提供する手段です。
つまり,特定のドメインを指定したIPアドレスに紐付けるのが役割であって,ブラウザを開いた時にアクセスするページ (=ホームページ) に対して何かをするものではありません。
ホームページの設定は,各ブラウザの設定で行って下さい。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: [Java]リリースするとNoClassDefFoundError
返信数: 2
閲覧数: 1950

Re: [Java]リリースするとNoClassDefFoundError

MANIFEST.MFにクラスパスを含めることができるので,それで./jackson-core-2.5.0.jarなどを指定しておくとよいかと思います。

ちなみに,解決とされた方法の場合は,すべての依存jarを抱え込んだ上で,独自のエントリポイントから起動するようになるみたいです。
ref) [Java]Eclipseで実行可能JARファイルでエクスポートした時のディレクトリ構成の違い - daybreaksnow's diary
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: Pythonを用いた画像保存
返信数: 7
閲覧数: 1838

Re: Pythonを用いた画像保存

技術的には GET /users/user-id/media/recent でしょう。 ただし,これを「表示」に使うのはよいですが,「保存」に使うのは利用規約違反だと思われます。 APIを使っても自動であることには変わりがなく,APIを使って保存できる旨が明示で書かれていないためです。 ちなみに,HTML解析で画像を取得するのは無理です (JavaScriptの解析を必要とする)。 利用規約を見たときに,「標準的な検索エンジンプロトコル ... を用いる場合を除きます」があるので,ざる条項かと思いましたが,ソースを見ると画像は全てJavaScriptで表示していました。 標準的な検索エンジンプ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトでネットワークアダプタを有効/無効化したいと思っています。
返信数: 12
閲覧数: 13582

Re: コマンドプロンプトでネットワークアダプタを有効/無効化したいと思っています。

C:\Users\ユーザー名>schtasks /run /tn C:\Users\ユーザー名\Desktop\バッチファイル名.bat ド素人なのでよくわからないのですが、コマンドプロンプトを普通に立ち上げて、このように入力しても、ボリュームラベルが間違っていますみたいなエラーになります。 「みたいなエラー」ではなく,エラーメッセージをコピーして貼り付けるようにして下さい。 で,今回の問題は,/tnの意味を理解していないことでしょう。 /tnには,タスクスケジューラに登録しているタスク名 (タスクスケジューラを起動した時に,「名前」に出てくるもの) を指定します。 例えば, schtask...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトでネットワークアダプタを有効/無効化したいと思っています。
返信数: 12
閲覧数: 13582

Re: コマンドプロンプトでネットワークアダプタを有効/無効化したいと思っています。

ユーザー さんが書きました:>力業による回避策としては,タスクスケジューラに登録しておき,schtasks /runで実行する,というものがあります。
これの具体的なコードを教えていただけないでしょうか?
何を調べて,何がわからなかったのですか。
特別ややこしいことはないと思いますが。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトでネットワークアダプタを有効/無効化したいと思っています。
返信数: 12
閲覧数: 13582

Re: コマンドプロンプトでネットワークアダプタを有効/無効化したいと思っています。

まず、以下の画像のように、「このアプリがpcに変更を加えることを許可しますか」というメッセージが出てきます。 Windowsのセキュリティレベル全体を下げるのではなく、このバッチファイルだけ、メッセージを表示しないようにできないでしょうか。 特定のソフトウェアに対して,自動的にHigh Integrityで実行できるようにするのは,UACの意義がなくなるため,当然ながらできません。 力業による回避策としては,タスクスケジューラに登録しておき,schtasks /runで実行する,というものがあります。 もうひとつ、(「C:\WINDOWS\system32>」の部分)を書かないと、バッチファ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 1912

Re: タイムについて

エラー 14 error LNK2019: 未解決の外部シンボル __imp__timeGetTime@0 が関数 _WinMain@16 で参照されました。 と出てきました。これはどうすればいいのでしょうか。 みけCATさんが書かれている GetTickCount ではなく, timeGetTime を使っているのですね。 それはともかく,まずはMSDNを調べましょう。 → リンカ ツール エラー LNK2019 そうすると, このエラーは、そのシンボルの定義が存在するソース コードまたはライブラリ ファイルがビルドに含まれていない場合に発生することがあります。 という記述があります。 そ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトでネットワークアダプタを有効/無効化したいと思っています。
返信数: 12
閲覧数: 13582

Re: コマンドプロンプトでネットワークアダプタを有効/無効化したいと思っています。

コマンドプロンプトを管理者権限で立ち上げて(下の参考を参照)、以下のコマンドを入力するとうまくオンオフはできています。 C:\WINDOWS\system32>netsh interface set interface "イーサネット" disabled C:\WINDOWS\system32>netsh interface set interface "イーサネット" enabled しかし、バッチファイルにした瞬間にうまく動かなくなります。 下の参考のように、詳細プロパティの「管理者として実行」にチェックを付けてもダメでした。 バッチファイルで一瞬立ち上がったコマンドプロンプトにエラーメ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: データベースについて
返信数: 1
閲覧数: 299

Re: データベースについて

疑問を解決する休日 さんが書きました:ファイルアクセス高速化のためのインデックスファイルについて質問です。
「ファイルアクセス高速化のためのインデックスファイル」の具体例を挙げてもらえますか。
# 通常,インデックスを使うのは検索の高速化や効率化の為ですが。

通常の話として出る「データベース」と「インデックス」に,
「ファイル」という要素は出てこないため,題名と内容の間で飛躍を感じてしまいます。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: Windows : プロセスとそのファイル名を列挙したい
返信数: 8
閲覧数: 2213

Re: Windows : プロセスとそのファイル名を列挙したい

解決となっていますが,一点。 if (LookupPrivilegeValueA(NULL, SE_DEBUG_NAME, &tps.Privileges[0].Luid)) { ここはまずいです。 Select-String -Pattern SE_DEBUG_NAME -Path "C:\Program Files (x86)\Windows Kits\8.1\Include\um\*.h" に対して, winnt.h:10629:#define SE_DEBUG_NAME TEXT("SeDebugPrivilege") と戻るので,引用したコードは if (LookupPrivileg...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラスをポインタで受け取った場合の。。。
返信数: 3
閲覧数: 594

Re: クラスをポインタで受け取った場合の。。。

*pS は意味のないただの文字列でもないし、sを表すオブジェクトでもないけど、 &でアドレスは取得できる。 *pSはどんな内容のもので、C、C++で何と呼ばれるものなのかと 疑問に思ってしまいました。 pSがStudent型へのポインタ型のオブジェクトであるならば,*pSはpSが指し示すStudent型のオブジェクト (のlvalue値) です。 //*pS.semesterHours = 20; // *pSはオブジェクトsを表さない? これは,単項*演算子よりも,.演算子の方が優先順位が高いため,*(pS.semesterHours) = 20;と解釈されます。 pSはポインタ型ですから...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: C#でのコントロールの透過について
返信数: 1
閲覧数: 3639

Re: C#でのコントロールの透過について

フォームの背景を透明にした状態で、ラベルの背景も半透明にしたいです。 しかし、やってみると、ラベルの背景はフォームの透過色になってしまいます。 フォームの背景を透明にする,とはどうやって行いましたか。 Opacity プロパティ を変更した場合,子のコントロール全ての透過率が変更されるはずです TransparencyKey プロパティ を変更した場合,指定した背景色を持つ子孫コントロールは完全に透過となり,その親の色にかかわらず裏側の情報が描画されるはずです BackColor プロパティ に Color . Transparent を設定したのであれば,そもそも意味がないです see) ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Studio2010:ルート名前空間を確認、変更出来ない
返信数: 1
閲覧数: 1808

Re: Visual Studio2010:ルート名前空間を確認、変更出来ない

そのMSDNページはVisual Basic用のものですが,ちゃんとVisual Basicのプロジェクトを作っていますか。 また,Visual BasicでもWebページには該当するプロパティペインが存在しません。 そのあたりのプロジェクトの作成方法を確認してみてください。 なお,Visual Studio 2010における,Visual Basic, Visual C#, Visual C++ (WIn32)のコンソールアプリケーションでのプロジェクトのプロパティを開いた時のキャプチャは次のようになります。 https://cnyvlw-sn3302.files.1drv.com/y3mK...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: C# BitmapとIplImage->Bitmapの相違について
返信数: 2
閲覧数: 1283

Re: C# BitmapとIplImage->Bitmapの相違について

OpenCVの方は試していませんが,BITMAPINFOHEADERにある情報と,System.Drawing.Bitmapから得られる情報は一致しています。 元々の想定自体が間違っていませんか。 ちなみに,チェックは添付のプログラムで行いました。 ConsoleApplication5がC++で単純にBITMAPFILEHADERとBITMAPINFOHEADERを読んでBITMAPINFOHEADERにあるResolutionを表示するものと,GDI+を使ってResolutionを表示するもの。 Reference Source を元にGDI+における対応を決定しています。 Console...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 教えて下さい MP3の情報について
返信数: 2
閲覧数: 638

Re: 教えて下さい MP3の情報について

MP3ファイルに限らず,ファイルの更新履歴は,わざわざ取るように作らない限り残りません。 また,MP3ファイルのタグ情報に関してと限定しても,履歴専用のフレームは存在しないため,アプリケーション専用のユーザー定義フレームとして用意する必要があります。 もちろん,そのユーザー定義フレームは標準化されていないため,自分が作成したアプリケーション以外からは無視されますが。 一応,知らないフレームを残すかどうかについてはフレームヘッダに情報が存在するため,その情報をちゃんと見てくれれば,変更時に残す・残さないを作者側の要請に従って決めてくれます ユーザー側の代替手段としては,Time Machine ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のフォルダの特定の拡張子のファイルだけを纏めるような機能
返信数: 1
閲覧数: 433

Re: 複数のフォルダの特定の拡張子のファイルだけを纏めるような機能

Windowsを仮定します。 それなんてWinFS……。 それはともかく, 検索結果としてまとめることはできる 形式上シェル名前空間に存在するフォルダだし,本当にディレクトリでなくフォルダとして取り扱うならフォルダ扱い可能だと思う ref) Windows Search , Saved Search File Format ほとんどの,フォルダをフォルダとして取り扱えないソフトウェアに対しては,検索結果は使えない となるかと思います。 通常,Viewer等はフォルダをフォルダとして扱えませんから,仮想的な方法は使えない,ということになります。 個人的には,専用のディレクトリと更新用バッチファ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: vectorのイテレータがNULLになる
返信数: 9
閲覧数: 2337

Re: vectorのイテレータがNULLになる

イテレータの削除だけであれば,std::remove_if使って最後にまとめてstd::vectorから削除,という方法があるのですが,ループ中に追加もあるのですよね。
そうであれば,std::vectorなのですから,添字でアクセスするのが簡単かと。
追加をpush_back,または最後尾に行う限り,該当要素の添字は変化しませんから。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: フォントデータ(.otf)をロードする方法について
返信数: 6
閲覧数: 1331

Re: フォントデータ(.otf)をロードする方法について

ですがファイルパスの誤りは何度も確認しましたがあっていました。 相対パスで書いてありますが,カレントディレクトリも含めて確認しましたか。 ありがちなのは,相対パスの起点となるカレントディレクトリが想定と異なる,というものです。 そもそも,カレントディレクトリはプログラム中で明示的に指定しない限りどこになるかわからないものなので, GetModuleFileName + PathRemoveFileSpec + PathAppend ,場合によっては PathCanonicalize も使って絶対パスに変換し,それを AddFontResourceEx に渡してみてはどうでしょうか。 ブレイク...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列のアドレスの表現法
返信数: 4
閲覧数: 1170

Re: 2次元配列のアドレスの表現法

まず,基本事項として,配列型のオブジェクトが式中にでてきた場合,いくつかの演算子の対象になる場合(sizeofやtypeid,単項&など)を除いて,配列型のオブジェクトはその先頭要素へのポインタに変換されます。 つまり,aが配列型のオブジェクトについた識別子の場合,ソースコード中のaと&a[0]は上記の例外を除くと同じ意味です。 その上で,二次元配列,つまり配列の配列型のオブジェクトに関して,次のような関係になります。 int d[4][4]; に対して, d : int[4][4]型 : オブジェクトそのもの→&d[0]に変換される &d : int (*) [4][4]型 : オブジェクト...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 【C++】こういう書き方はできませんか? 改善点や別方法を教えてください
返信数: 3
閲覧数: 706

Re: 【C++】こういう書き方はできませんか? 改善点や別方法を教えてください

静的なメンバ変数は,宣言とは別にどこかで定義を書かないといけません。
今回の場合だと,どこかのファイルに,

コード:

std::map<int, TDObject *> TDObject::objects;
int TDObject::nextID;
の2行がないといけません。
この定義がないので,シンボル未解決のエラーになっています。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 使ったアプリケーションをばれないようにするにはどうしたらいいか?
返信数: 5
閲覧数: 773

Re: 使ったアプリケーションをばれないようにするにはどうしたらいいか?

PCを共有しても履歴などはユーザーに紐付くはずですが。
ちゃんとユーザーを分離していますか。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: アプリケーションの安全な自動バージョンアップ機能について
返信数: 6
閲覧数: 948

Re: アプリケーションの安全な自動バージョンアップ機能について

どこまで真面目にやるか,ですが……。 とても真面目にやるならば,複数のHTTPSサイトにチェック先をおき,ダウンロードサイトはまた別のHTTPSサイト,プログラムとインストーラーにデジタル署名,となります。 ただ,HTTPSの証明書とデジタル署名の証明書は別物になる上,コードサイニング証明書は結構なお値段になるので,フリーソフトで導入するのは確固たる意思がないと難しい面もあります。 公開鍵暗号を使った分離署名とつきあわせて確認をする,というの方法であれば,最初に改ざんされたバージョンを使われるまでは安全だと思います。 特に,ECDSAなどの楕円暗号を使った公開鍵で鍵長を長めにとれば,同一の署名...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 各国版のWindowsでの英数表示について
返信数: 8
閲覧数: 1199

Re: 各国版のWindowsでの英数表示について

単純に文字化けしない,という点で言うと,CharSetに指定した文字コードを持つフォントの中から選ばれるため,そのようなフォントさえあれば文字化けしません。 ただし,SHIFTJIS_CHARSETにArialが対応していないため,Arialが使われない,ということになります。 以下のコードを実行すると,Arialという文字列が異なって表示されると思います。 これは,上部分はArialでないフォントが選択されたための結果です。 #include <Windows.h> void OnPaint(::HWND hWnd) { ::PAINTSTRUCT ps; auto hdc = ::Begi...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 各国版のWindowsでの英数表示について
返信数: 8
閲覧数: 1199

Re: 各国版のWindowsでの英数表示について

MSDN読むとGDIと同様の方法を使っていると思われるので,そういう仮定の上で。

文字集合の指定がSHIFTJIS_CHARSETですが,Arialを指定したいのであればCharSetの値を,
・SHIFTJIS_CHARSETではなくArial自身がサポートする言語,例えばANSI_CHARSETを指定する
・「気にしない」ことを意味するDEFAULT_CHARSETを指定する
などとした方がよいでしょう。
一応,公式資料ではCharSetは(GDIにおいてですが)不一致は最大のペナルティとされているので。
Windows Font Mapping
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 64bitPCから32bitアプリケーション作成時リンカエラーについて
返信数: 9
閲覧数: 1446

Re: 64bitPCから32bitアプリケーション作成時リンカエラーについて

64bitのリンカ設定の状態で32bitをビルドした結果以下エラーが出てしまいます。 64bitのリンカ設定というのは, /MACHINE リンカオプションがx64だということですよね。 それは32bitビルドではないと思いますが。 エラーは、LINK2019, 2001です。 エラーメッセージは正しく書いてください。 Microsoftのリンカはエラーコードとして,LINKではなくLNKをプリフィックスとして使います。そして, リンカ ツール エラー LNK2001 リンカ ツール エラー LNK2019 どちらも,シンボルの解決ができなかったという内容のエラーです。 環境が変化したことで...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: Hello worldよりもっと前の議論
返信数: 30
閲覧数: 11029

Re: Hello worldよりもっと前の議論

でもwindowsapiって使えるようになったのって最近じゃないですか? windows95時代windowsapiを使えるそんな環境ってあったんでしょうか? Windowsの機能を呼び出すためのインターフェースがWindows APIです。 私の知る限り,Windows 3.0以降において,公開されたAPIが存在しますし, ヘッダファイルでポインタ修飾にFARという文字列が出てくるのは16bit時代の遺物です。 おそらく1.0/2.0にもあったはずですが,知識的に「私が」それらの時代の開発環境を知らない,という話です。 でもwindowsapiって使えるようになったのって最近じゃないですか...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトに図形を描きたい
返信数: 6
閲覧数: 3521

Re: コマンドプロンプトに図形を描きたい

というか昔のパソコンってコマンドプロンプトで操作してて、図形の描画が出来ましたよね?あれはどうやって実現していたのか疑問です。普段文字を打ち込む場所に図形を描いていたわけですよね。切り替えられるんでしょうか? 根本的なところとして,ここで言う「コマンドプロンプト」がMS-DOS等であれば,そもそも現在のものとは全く違う方式で描画が行われていました。 代表的なものとして,テキスト表示に特化したテキストVRAMを積んでいたことでしょうか。 表示可能な文字は,テキストVRAMで表示できる文字(フォントはROMに記録されている)にほぼ限られた(外字は作れたが)ため,「機種依存文字」などという表現が有...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: C# 複数フォームでのやりとり(メインフォームとテキスト入力用フォーム)
返信数: 2
閲覧数: 747

Re: C# 複数フォームでのやりとり(メインフォームとテキスト入力用フォーム)

解決となっていますが,方法が書かれていませんし,往々にしてまずい解決方法を採ることがあるので……。 ・大きなプログラムで通常推奨される方法 Form2が必要とする情報や設定する情報をクラスにまとめ,そのクラスのインスタンスをForm1とForm2の間でやりとりする。 現実的にはModelに属するクラスを渡すことになるかと思います。 設定系などでキャンセル可能な場合は一度複製したものにデータを設定しておき,ApplyやOKのタイミングで複製したデータを有効化することになります。 class ProgramSettings { public ProgramSettings () { Title =...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: VC++でのMySQL接続について
返信数: 3
閲覧数: 1432

Re: VC++でのMySQL接続について

うーん,こちらで試した限りでは問題なく動くのですが。
通常のConsoleアプリケーションやWindowsアプリケーションに関しては,問題なくコンパイルできているのでしょうか。

とりあえず,私の環境でビルドや実行に成功したソリューションのファイルへのリンクを下記に記しておきます。
ユーザーやパスワードなどは適切に変更してみてください。
Visual Studio Community 2013 Solution File (with Connector/C)
Visual Studio Community 2013 Solution File (with Connector/C++)
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: VC++でのMySQL接続について
返信数: 3
閲覧数: 1432

Re: VC++でのMySQL接続について

C++で繋げたことはないですが,まずは公式のリファレンスをあたって,その上でエラーメッセージ等を提示してみてはどうでしょうか。
http://dev.mysql.com/doc/connector-cpp/en/index.html
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: ブラウザ上で複数人で遊べる簡単なゲームを作りたいです
返信数: 4
閲覧数: 1353

Re: ブラウザ上で複数人で遊べる簡単なゲームを作りたいです

【yahooの麻雀ゲーム】 http://yahoo-mbga.jp/stdgame/300001?_ref=aff%3Dyhm50001 こちらはログインが必要なので調べていませんが, 【ゾンビ射撃ゲーム】 http://ninjakiwi.com/Games/Action/Play/SAS-Zombie-Assault-4.html#.VWxlEX8w9LM こちらはFlashを使っているようです (読込終了後で調査)。 IE 11でF12 開発者ツールで単純に調べた場合。Safariとかを詐称すれば別の結果が得られたかもしれません。 Javaで作成する場合、ゲーム部分はJavaで作り、...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: fwrite関数について簡単な質問があります
返信数: 5
閲覧数: 1173

Re: fwrite関数について簡単な質問があります

zeek さんが書きました:
みけCAT さんが書きました:
sadora3 さんが書きました:

コード:

	rewind(stdin);
	getchar();
このような環境依存かつ不要な処理はするべきではないでしょう。
このコードのどの部分が「環境依存」なのでしょうか?

コード:

rewind(stdin);
が問題です。stdinがSeek可能かどうかや,stdinがSeek可能な場合でもSeekした場合にどう振る舞うべきかが標準規格では定義されていないため,このコードがどのような動きをするのかはわかりません。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: C++のDLLをC#で使う
返信数: 6
閲覧数: 1774

Re: C++のDLLをC#で使う

void *はたいていの場合,専用の型ごとのオーバーロードを用意するのが楽です。
IntPtrにしておいてMarshal系と組み合わせたり,unsafeコードとポインタを使ってもできますが……。

関数ポインタ型は通常はデリゲート型に変換します。

詳しくはMSDNの相互運用マーシャリングのページを参照してください。
オフトピック
特にコールバックがかかるような場合は,それなりの知識がないとエラーが頻発すると思います。
C/C++とC#についての知識次第で,どこまで説明がいるかも変わりますし。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: ひし形出力
返信数: 9
閲覧数: 2658

Re: ひし形出力

xj0461jr さんが書きました:n が 3 の時
----@
--@---@
----@
nが3の時は特別扱いですか?

コードブロックを使って整形してみます。
  • そのままコピー

    コード:

    ----@
    --@---@
    ----@
  • -を空白に変換

    コード:

        @
      @   @
        @
行頭に空白が2つで辺の傾きもabs(y/x) = 1/2と,他の行頭に空白が無く辺の傾きがabs(y/x) = 1と異なるようですが。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: このプログラムのポインタ演算について質問があります
返信数: 19
閲覧数: 7023

Re: このプログラムのポインタ演算について質問があります

scanfでaと入力したところ、確かに無限ループになりました。これどのように対策すればよいのでしょうか? C FAQ 12.20 参照。 個人的にも,scanfを使わないことをお薦めします。 自由入力を相手にするのであれば,入力の取り扱いが行指向であればfgetsを,1文字単位指向であればgetcを使います。 今回の場合はfgetsがよいでしょう。 rewind(stdin)を突っ込んだら無限ループにならなくなったのですが、正直rewind(stdin)の意味がよく分かりません。 調べたところ、「キーボード バッファをクリアする」と出てきたのですが、どういう意味なのでしょうか? # Visu...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: if文のelseについて
返信数: 3
閲覧数: 588

Re: if文のelseについて

else if の箇所の条件式が,文字列になっています。
文字列リテラルはNULLではないので,常に真となるため,"人2の勝ちです。\n"を表示することがなくなります。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 文字の宣言はint型?
返信数: 7
閲覧数: 1747

Re: 文字の宣言はint型?

「今ではC言語で文字型変数をintで扱うって本当?」 これに関しては,正しいです。 ANSI/ISO以前の正確な知識は無いですが,Cにおける'A'などの型は,少なくともISO/IEC 9899:1990の時代からint型です。 中途半端なバージョンではありますが,ISO/IEC 9899:1999から該当箇所を引用しますと, 6.4.4.4 Character constants Description 2 An integer character constant is a sequence of one or more multibyte characters enclosed in s...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: VC++でコントロールを自動で追加させる方法について
返信数: 4
閲覧数: 941

Re: VC++でコントロールを自動で追加させる方法について

コントロールを追加していくのであれば,FlowLayoutPanelが使えないでしょうか。
ref) 方法 : FlowLayoutPanel コントロールで子コントロールを固定およびドッキングする
場合によっては,DataRepeaterも使えるでしょう。

原則的に,WinForms (というよりもコントロールベースのGUI) において座標計算が必要になる状況はよくない状況です。
FlowLayoutPanelやDataRepeaterでは機能不足のような状況であるならば,GUI自体を見直した方がよいかもしれません。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: PLAYSTATION2まで作れる
返信数: 8
閲覧数: 2001

Re: PLAYSTATION2まで作れる

なにが書きたい/言いたいのか全く分かりませんし,技術的にも間違っていることも多く,実機を実際に取り扱ったことが無い人の伝聞情報だけによる記述と思えますが……。  人から聞いた話だけど、MS-DOS3.3シリーズは、32ビットMS-DOSでプロテクトのフラットで動かしている。 MS-DOS自体はリアルモードまたは仮想86モードで動いています。 原則はリアルモード (起動時は常にリアルモード) で,80386以上のCPU + EMM386.sysのような仮想EMSドライバを使った場合,EMSドライバがCPUをプロテクトモードに切り替え,MS-DOS自体は仮想86モード中で動くようになります。 ただ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: Threadの安全な終了について
返信数: 5
閲覧数: 2148

Re: Threadの安全な終了について

全てのスレッド (.NET Framework (CLI) に限らない) について,他のスレッドから強制終了させることは適当ではありません。 大原則として,「スレッドに対して終了をお願いし,それをスレッドが受け付けて自分で終了処理をする」必要があります。 CLIの場合, System::Threading :: ManualResetEvent や,volatileなbool型変数などが使えると思います。 ただし,CLI環境において,そもそもThreadクラスを直接使う必要性が感じられないのも事実です。 現在の主流は System::Threading::Tasks :: Task ですし,....
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 初歩的
返信数: 3
閲覧数: 687

Re: 初歩的

ありがちな例としては,VS上で[デバッグ] - [デバッグなしで開始]を行ったり,Explorer等から起動したあと,終了しないままビルドしようとした場合などは書き込めずに失敗します。
プロセスが残っているはずがなく,他のプロセスが掴んでいないはずなのに書き込み拒否される場合は,
Process ExplorerのHandle検索などで掴んでいるプロセスがないか確認してみるとよいかと思います。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 宣言した変数の用量は中身の値に関わらず一定ですか?
返信数: 9
閲覧数: 1639

Re: 宣言した変数の用量は中身の値に関わらず一定ですか?

割と厳しいc#やjavaではたしか強制終了させられたと思います。 C#でも、 実験結果 では強制終了になりませんでした。 using System; public class Test { public static void Main() { int a = 2147483647; Console.WriteLine(a); a++; Console.WriteLine(a); } } 言語のマイナーな部分を……。 using System; class Program { private static void Main () { try { CallUnchecked(); Conso...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 1順ループで再現する方法
返信数: 11
閲覧数: 1717

Re: 1順ループで再現する方法

問題はこれで正しいのでしょうか。
カンパチ20個で130 * 20 = 2600円となるため,コンピュータに解かせる必要が無いのですが……。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: windows apiでクリックできる画像の作り方
返信数: 5
閲覧数: 1189

Re: windows apiでクリックできる画像の作り方

しかし、マウスカーソルの座標取得方法が分かりません。 GetCursorPosでスクリーン座標(画面左上が0,0)を取得できるのは検索してわかりましたが、 クライアント座標(フォーム左上が0,0)の取得の仕方が分かりません…。 私の投稿を読みましたでしょうか。 そして,みけCATさんおよび私の投稿にある,MSDNのリンク先も読みましたでしょうか。 GetCursorPos は,呼び出した時点でのカーソルの座標を返します。 負荷がかかった状態では,クリックした位置とは異なる座標が得られてしまいます。 このため,クリックした位置は,WM_LBUTTON(DOWN|UP)のlParamから取得する...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: windows apiでクリックできる画像の作り方
返信数: 5
閲覧数: 1189

Re: windows apiでクリックできる画像の作り方

・ボタンを利用する場合
BS_IMAGEスタイルをつけたボタンに対して,BM_SETIMAGEを投げることで,イメージのみのボタンを作成することができます。

・自力でハンドリングする場合
ウィンドウ自身でWM_LBUTTONUPを検出し,その位置情報 (LPARAMから取得) で「クリックされた」ことを判定します。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: c言語のソースをスクリプト言語で処理する
返信数: 9
閲覧数: 1932

Re: c言語のソースをスクリプト言語で処理する

解決となっていますが,VC++でも一応 T4 Template が利用可能です。 CODEXPERT - CODEXPERT: T4 in Visual C++ <#@ template debug="false" hostspecific="false" language="C#" #> <#@ assembly name="System.Core" #> <#@ output extension=".cpp" #> #include <iostream> int main (void) { <# for (int i = 50; i < 100; ++i) { #> std::cout <...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 1つのグローバルIPアドレスが、マンションや会社内で共有されたり、重複することはありますか?
返信数: 7
閲覧数: 6791

Re: 1つのグローバルIPアドレスが、マンションや会社内で共有されたり、重複することはありますか?

「IPアドレス」という表記なので,ちょっと突っ込みを。 IPv4は共有されうるけれど,IPv6は共有されないかと。 IPv4は予約されていないアドレスが/32で1個,IPv6はGlobal Unicast Address領域に/64が1個割り当てられる環境 (auひかり環境) 下で IPv6 test に接続してみましたが, IPv4は端末が持つPrivate Address Spaceのものではなく,ルーターが持つプロバイダーから割り当てられたアドレスが表示された IPv6は端末が生成した一時アドレスが表示された (Windowsクライアントは一時アドレスを優先して利用します。Windows...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: visual studioでは通るがAOJでは通らないコード(C++)
返信数: 1
閲覧数: 1386

Re: visual studioでは通るがAOJでは通らないコード(C++)

akil さんが書きました:1、なぜvisual studio では通って AOJでは通らなかったのか?
  • VSの<iostream>か<vector>か<string>が,<algorithm>またはstd::reverseの定義された実装ファイルをインクルードしていた
  • AOJで使われている処理系ではそれがなされていなかった
というだけかと。利用するにあたりstd::reverseは<algorithm>をインクルードしなければいけないため,VSで通ったのはたまたまだと思います。
必要なヘッダーは明示的にインクルードすべきかと。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: VC++/CRLで関数でラベルの文字を変える方法
返信数: 10
閲覧数: 3133

Re: VC++/CRLで関数でラベルの文字を変える方法

softya(ソフト屋) さんが書きました:なので、今後のWindowsアプリ作成言語の主役はC#です。C#のCLRフォームを使うのがマイクロソフトの推奨GUI構築方法です。
WinFormsよりもXAML系技術,つまりはWindows Store AppsやWPFがMS推奨かと。
実際,WinFormsはほとんど機能が追加されていないことがわかります
現実的にもWinFormsはXAML系よりもバインド技術が弱くて使いにくいことも多いですし。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリの音利用関数について
返信数: 12
閲覧数: 5113

Re: DXライブラリの音利用関数について

個人的にmp3ファイルから曲の長さを調べたりしようとしていたことがあったので,技術的背景を。 mp3ファイルはフレームあたりのサンプル数が固定(Layer-Ⅰの場合384,Ⅱ/Ⅲの場合1152)である上,フレーム中に有効なサンプル数が含まれないため,最終フレームの有効なサンプル数を決定出来ません。 このため,最大で1151サンプル分,なんらかのデータでパディングしないといけないことになります。 サンプリングレートが44.1k㎐のmp3ファイルでは,最大1151 / (44.1 * 1000)ミリ秒,つまりは26㎳強のパディングが入ります。 また,LAME Tag が書き込まれているmp3ファイ...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: RSSリーダーの仕組み
返信数: 4
閲覧数: 1149

Re: RSSリーダーの仕組み

RSS Readerって普通のHTTP/HTTPS通信でXMLを取ってきて保存・表示しているだけだと思いますが。
認証が不要な相手であれば,当然認証を行わないため,フィード発行元のアカウントについて相手が知ることはできません。
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列とVECTOR に渡した値の違いについて
返信数: 12
閲覧数: 3218

Re: 配列とVECTOR に渡した値の違いについて

クラスのコピーをキーワードに調査し、CImageにコピーコンストラクタを追加しました。 しかし、LoadImage関数で読み込んだ内容をコピーする方法がわからなかったため、 読み込みファイル名のパスを記憶しておき、コピーコンストラクタの中で再度読み込む方法をとりました。 今回のような場合だと,CImage自身が持っている情報をCImageのコピー時に共有してしまえばよいため,hBmpなどを複製する必要はありません。 ただし,共有数をちゃんとカウントし,共有数が0になった時点で破棄する必要があります。 このような場合,std::shared_ptrを使うことで楽をすることができます。 CIma...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列とVECTOR に渡した値の違いについて
返信数: 12
閲覧数: 3218

Re: 配列とVECTOR に渡した値の違いについて

成功と失敗の動作を比較して、CImageManagerクラス内ではvectorを介してCImageクラス の操作をしているという違いがあり、そこが原因と考え最初の質問を投稿させていただきました。 ざっとコードを見ましたが,CImageはコピーされることに対してまったく対処がなされていません。 しかし,std::vector::push_backはオブジェクトをコピーします。 このため,CImageManager::addImageでは, obj.loadBmpFileの呼び出しでobj.hBmpとobj.memoryDCが設定される Image.push_back(obj)によって,objの...
by YuO
4年前
フォーラム: C言語何でも質問掲示板
トピック: 正規表現で連続した数字を表現したい
返信数: 3
閲覧数: 1704

Re: 正規表現で連続した数字を表現したい

一応,.NET Frameworkのように,\dをUnicodeクラスNdと等価とするライブラリもあるため,注意が必要です。
このあたりは,ライブラリの仕様に依存します。
そもそもキャプチャ機能の有無,量指定子の有無がライブラリに依存しますが……。

ref) ideoneでの実行例 全角・半角形領域の数字に関しても\dがマッチしていることがわかる
by YuO
5年前
フォーラム: C言語何でも質問掲示板
トピック: リストボックスのソートなのですが
返信数: 2
閲覧数: 624

Re: リストボックスのソートなのですが

まず,LB_ADDSTRINGメッセージを送信した時のSendMessageの戻り値が,追加した要素のインデックスになります。
そして,WPARAMに要素のインデックスを,LPARAMにその要素に紐付けたいオブジェクトへのポインタ (or 整数値)に指定してLB_SETITEMDATAメッセージを送れば,リストボックスの各要素に情報を紐付けられます。

あとは,LB_GETITEMDATAで紐付いた情報を取得できるので,この情報を使って要素を区別できます。

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