検索結果 945 件

by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: オープンソースとゲームの相性
返信数: 8
閲覧数: 4340

Re: オープンソースとゲームの相性

ゲームのうちの,正しく「映画の著作物」的な面白さの部分はオープンにする事と相反してしまう面白さだと思います。 いわゆる,ネタバレによって面白さが減じる部分です。 それに対して,ゲーム自体としての面白さに関しては,公開する事によって面白さが減少することはないでしょう。 例として挙げるなら,ソースコードが公開されているわけではないですが,スーパーマリオブラザーズは各種ブロックの配置から敵の配置までわかっています。 しかし,それによって面白さが減るものではありません。 どちらを重視するかは作り手次第だと思います。 ただ,OSIの言う「オープンソースライセンス」やFSFの「フリーソフトウェア」では,ユ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: calloc + strcpyについて
返信数: 10
閲覧数: 6686

Re: calloc + strcpyについて

わん さんが書きました:連続して領域を確保すると、どのように考えればよろしいでしょうか?
単なるバッファーオーバーランによる未定義動作の結果なので,「たまたまこうなった」としか考えようがないです。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数の解読
返信数: 3
閲覧数: 2481

Re: 乱数の解読

この疑似乱数系を,どのように暗号に利用するのでしょうか。 パスワードにするだけであれば,十分な長さと文字種を用意すれば,事実上の強度の違いは存在しないと思います。 暗号化処理において通常,疑似暗号で作成したソルトとパスワードをハッシュ関数に通す事によって実際の暗号鍵を作り出します。 # 結城浩「 暗号技術入門 第3版 」第11章 通常暗号のクラックには辞書攻撃が最初に行われますが,これは人が入力する可能性の高いパスワードを先に試す事によって解読の可能性を上げるためであって,パスワードが乱数によって生成されたのであれば,乱数自体の解析よりもパスワード自体の総当たりで解読する事になると思います。 ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数で負の数を取る場合と倍数を調べる場合
返信数: 4
閲覧数: 6945

Re: 乱数で負の数を取る場合と倍数を調べる場合

 1か0かから始まる範囲の乱数なら分かるのですが、  これが負の数となるとどう書いていいのかがどうしてもわかりません………。 乱数の範囲の最小値が0になるようにシフト(足し算)した範囲の乱数を発生させ、そのシフトを元に戻す(引き算)ことで求めることができます。  下の問題は出来たのですが、これだけがどうしてもわかりません。 基本的な部分は,理解していますか。 つまり,範囲[-10, 10]の乱数を発生させる事と,範囲[0, 20]の乱数を発生させることは同じことである,ということです。 後者の乱数を作る (コードを書く) 事はできるんですよね。 そこから前者を作り出すには,すぐにわかると思い...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]std::unique_ptrをコピーしたい
返信数: 9
閲覧数: 7863

Re: [c++]std::unique_ptrをコピーしたい

std::reverseに限定して書くならば,*firstがswappableであることを要求します。 つまり,今回に関しては,std::swap<MyClass>を特殊化し,その中でpimplをswapすればよいことになります。 まぁ,特殊化とはいえ外部からprivateなメンバを弄るのは気持ちが悪いので, swapメンバ関数を用意して特殊化されたstd::swapから呼ぶ事になると思いますが。 ref) ISO/IEC 14882:2011 ・17.6.3.2 Swappable requirements ・25.3.10 Reverse ¶2 ただ,24.4.1 Iterator tra...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: マップ表示プログラムのデバック中に例外がスローされた。
返信数: 15
閲覧数: 12197

Re: マップ表示プログラムのデバック中に例外がスローされた。

この場合、どうすればいいのでしょうか。 ちゃんと,デバッグすればよいです。 ただ,それだけです。 と宣言しているため、GetValue関数の戻り値が0か1でないと Stage.cppの14行目のDrawRectGraph関数でアクセス違反が発生します。 残念ながら,よっぽど変わった値でない限り,0x00000008へのアクセスは起きません。 0x00000008へのアクセス違反という事実から,((T*)nullptr)->fooみたいなアクセスが一番考えられる事です。 shino0526yさん、変数indexの値のエラー確認のルーチンを教えてくれませんか? 変数の値なんて,ブレークポイント作...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: マップ表示プログラムのデバック中に例外がスローされた。
返信数: 15
閲覧数: 12197

Re: マップ表示プログラムのデバック中に例外がスローされた。

アクションゲームを制作する一環でマップ表示プログラムを作ってみたのですが、以下のような例外がスローされて、実行できません。 例外がスローされている以上,実行されていると思いますが。 0x0067C8DA で例外がスローされました (スタアド.exe 内): 0xC0000005: 場所 0x00000008 の読み取り中にアクセス違反が発生しました 0xC0000005は有効でないメモリへのアクセスです (元々はハードウェア例外)。 0x00000008へのアクセスだから,int型の配列の2番目の要素へのアクセスなどが発生しているのだと思います。 アクセス時の変数やメンバ変数の値,場合によっ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C2079エラーによってプログラムがコンパイルされない。
返信数: 14
閲覧数: 9692

Re: C2079エラーによってプログラムがコンパイルされない。

エラーメッセージの通りです。

Main.hの4行目にCPlayerクラスの宣言はありますが,7行目で定義を必要とするまでに,CPlayerクラスの定義がMain.h内には存在しません。
Main.hを利用する側でMain.hより前にCPlayerクラスの定義をしておけばコンパイル可能ですが,通常はMain.h内で定義がなされるようにします。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: LNK2005エラーが出た。
返信数: 5
閲覧数: 3217

Re: LNK2005エラーが出た。

エラーになった関数を定義していないか,定義されているファイルをリンクしていないのでしょう。
CFmfMapクラスの実装のある.cppファイルはプロジェクトに追加されていますか。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++のコンパイルとリンクに関するディレクトリの指定
返信数: 2
閲覧数: 2083

Re: C++のコンパイルとリンクに関するディレクトリの指定

visual studio VC++のソーススコードで[インクルード ディレクトリ]と[ライブラリ ディレクトリ]を指定することは可能でそうか。 できません。 ただし, プロパティシート を使えばオプションを.xmlファイルで管理できます。 # include 文で hファイルのフルパス指定がいやですので。 いやなので,というのはあまり理由になっておらず,フルパスで書いた方が面倒ごとは少ないと思いますが。 他に,例えばライブラリをnuget化するなどしてしまうのも方法ですが,結局プロパティシートが必要になります。 see) C++プロジェクトでNuGetを使ってみようよ!(Vol. 2:パッ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のコードに分けてコンパイルしようとしたら、C2512エラーが出た。
返信数: 5
閲覧数: 3795

Re: 複数のコードに分けてコンパイルしようとしたら、C2512エラーが出た。

既に書いた通り,問題点はデフォルトコンストラクターがないのにデフォルトコンストラクターを必要とする記述をしていることです。
これをどうすればいいのかは,どうしたいのかに依存するので状況に依るとしか書けません。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のコードに分けてコンパイルしようとしたら、C2512エラーが出た。
返信数: 5
閲覧数: 3795

Re: 複数のコードに分けてコンパイルしようとしたら、C2512エラーが出た。

どうもkeito940です。Platinumというマップエディターを使って、アクションゲームのためにマップを読み出すプログラムを作ってそれをコンパイルしようとしたところ、main.cppで何故か「C2512 'CCharMoveAndMap': クラス、構造体、共用体に既定のコンストラクターがありません。」と出ました。 コンパイルエラーであれば,ファイル名と同時に行数も書かれているはずですが。 ざっと見た感じでの問題となりそうな箇所は, Main.cpp #include "Main.h" #include "Player.h" #include "CharMove.h" int Time;...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++でUTF-8
返信数: 3
閲覧数: 7351

Re: C++でUTF-8

VS2017CommunityでUTF-8の文字列を変数に入れ、中身を確認したところ、 <文字列中に無効な文字があります> となってしまい、文字として認識してくれません。 ソースコード自体の文字コードは何ですか。 Visual C++のコンパイラは,Windowsのコードページの文字コードとソースコードの文字コードが一致するのであればそのままコンパイルできますが, そうでないのであれば, /source-charset のオプションを追加しておく必要があります。 なお,このコンパイラオプションはIDEサポートがないので,上記のリンク先にあるように,直接[追加のオプション]として記述する必要が...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C# デリゲートについて
返信数: 2
閲覧数: 2018

Re: C# デリゲートについて

単純に,対応するメソッドの形が,
  • 前者はint型の引数を持ち,値を返さないメソッド
  • 後者は引数を持たず,値を返さないメソッド
だからです。それにあわせて,
  • 前者のデリゲートで呼び出されるメソッドCSharpTraning.Program.Aはint型の引数を持ち,値を返さない
  • 後者のデリゲートで呼び出されるメソッドPerson.ShowNameは引数を持たず,値を返さない
となっています。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: コンパイラの警告 (レベル 1) C4819---MSの対処法は嘘 (公開日: 2016年7月)
返信数: 4
閲覧数: 6287

Re: コンパイラの警告 (レベル 1) C4819---MSの対処法は嘘 (公開日: 2016年7月)

Visual Studio 15,つまりVisual Studio 2017では,確かにVisual Studio 2015までには存在した[保存オプションの詳細設定]メニューがなくなっていますね。
ただ,どちらのバージョンでも[名前を付けてファイルを保存]ダイアログの,[保存]ボタンの横の下向き三角を押すと,
[エンコード付きで保存]のメニューが出てきて,これを選択すると文字コード及び改行コードを選択する事が出来ます。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: GOTO文の使い道について
返信数: 9
閲覧数: 4864

Re: GOTO文の使い道について

 何らかの理由で処理を飛ばしたい時に有効ということでしょうか?  ですが見づらくなるので、メモリ破棄には別の方法を使う方が良さそうですね。 デストラクタの実行に相当するようなことをまとめて行うために,リソース解放処理を関数中にまとめておいて,returnの代わりにそこにgotoでジャンプさせて解放処理を行う,というものだと思います。 一般的なgotoの使い方の一つですね。 e.g.) MEM12-C. リソースの使用および解放の最中に発生するエラーが原因で関数を終了する場合に、Goto 連鎖の使用を検討する - JPCERT.CC あとは,多重ループから一気に外に出るために使うくらいが現在利...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドが実行する関数の引数について
返信数: 1
閲覧数: 1352

Re: マルチスレッドが実行する関数の引数について

  • 関数の引数
  • ローカル変数
であるオブジェクトは,そのオブジェクトへのポインタを別のスレッドに渡すなどの方法で他のスレッドに知らせない限り,実行スレッドからのみアクセスできます。
thread_localとは意味合いが異なってしまいますが,他のスレッドと切り離されているという点においては同じ扱いになります。

ただ,当然ですが「『関数の引数であるポインタオブジェクト』が指し示すオブジェクト」は,他のスレッドと共有している可能性があります。
# これもthread_localと同じ。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: ソースコードを分離したらエラーを吐き出した。
返信数: 3
閲覧数: 2341

Re: ソースコードを分離したらエラーを吐き出した。

keito940 さんが書きました:move.cpp

コード:

extern int CameraX = 0;
extern int CameraY = 0;
ここが問題です。
externと初期化子 (や関数定義) が両方ある場合,宣言では無く定義になります。
分割する場合に,externを付ける場合は初期化子 (「=」以降) を付けてはいけません。

ref) ISO/IEC 14882:2011 / 3.1 Declarations and definitions / ¶2
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: javaでフィールド領域で処理を実装する方法ってありますか?
返信数: 8
閲覧数: 3600

Re: javaでフィールド領域で処理を実装する方法ってありますか?

//メソッド領域 仕様書上存在しないと思われるフィールド領域という言葉を使っておられる上,メソッド領域なる言葉も仕様書上該当しそうな言葉を見付けられないのですが,どこに書いてあるのでしょうか。 Mathさんの個人の意見はいりません。docs.oracle.comで提供されているJava Specificationの,HTMLの該当箇所のFragment付きのURIを提供してください。 なお,フィールド領域という言葉に私がこだわる理由は,単純に,大元の質問に書かれているような,式文をブロックの外に書く方法が存在しないものの, フィールド領域という言葉が何を指すのかがわかれば,別の理由で書かれて...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: javaでフィールド領域で処理を実装する方法ってありますか?
返信数: 8
閲覧数: 3600

Re: javaでフィールド領域で処理を実装する方法ってありますか?

フィールド領域とは何でしょうか。
Java言語仕様を参照してみましたが,それらしいものは無いようです。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: インターフェース、抽象クラスのC#との違い
返信数: 4
閲覧数: 2428

Re: インターフェース、抽象クラスのC#との違い

デリゲートは根本的な言語仕様の問題ですし,今回の話題から外れるので元々除外しています。
JavaからC#への変換で問題になりそうな匿名クラスも,根本的な言語仕様の問題で今回の話題からも外れるので除外しています。

で,今回のnewは,
new 修飾子 (MSDN)
これのことです。
オフトピック
C# メソッド newでGoogle検索すればすぐに出てくるので,ちゃんと調べましょう。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: インターフェース、抽象クラスのC#との違い
返信数: 4
閲覧数: 2428

Re: インターフェース、抽象クラスのC#との違い

インターフェース、継承、抽象クラスに関してルールとしてC#とjavaで違いはありますか? 記述方法の違いを除いた場合において, Javaのinterfaceはpublic static finalなフィールドを持てるがC#はフィールドを一切持てない Javaのinterfaceはメソッドのデフォルト実装を持てるがC#は持てない Javaの@Overrideは任意だがC#のoverrideは必須 C#のメソッドに付けるnewに相当するものはJavaには存在しない C#の明示的なインターフェースメソッドの実装に相当するものはJavaには存在しない あたりが大きな違いかな,と思います。 変換プログ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: OSに依存しないEthernet通信アプリケーション(C言語)
返信数: 6
閲覧数: 3953

Re: OSに依存しないEthernet通信アプリケーション(C言語)

Boost.Asioのような,OS依存を内部に隠しているライブラリを使えば可能です。

そもそも,現時点において標準のC/C++にTCP/IPを直接扱うライブラリが存在しません。
このため,TCP/IPを扱う方法は処理系に依存してしまいます。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: "struct" と "class"とは何が違うのでしょうか
返信数: 3
閲覧数: 1817

Re: "struct" と "class"とは何が違うのでしょうか

  • structはデフォルトの可視性がpublicなクラス
  • classはデフォルトの可視性がprivateなクラス
です。
それ以外の違いはありません。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++のRxにおけるダブルクリックの実装
返信数: 5
閲覧数: 4235

Re: C++のRxにおけるダブルクリックの実装

とりあえず、bufferメソッドを使用して2個ずつイベントを通知する実装としている為、 「2回クリックしたとき」しか表現できていない状態です。 ここに、制限時間を定義するにはどうしたらよいでしょうか。 前回の時間との差がある程度より小さければダブルクリックになるのですから,単純に前回との差を調べればよいことになります。 面白そうなので,コードを書いてみました。 // プログラムの先頭に, #define NOMINMAXを書いておくこと。<windows.h>のminマクロのために,minの呼び出しでエラーになる。 auto doubleClickStream = clickStream ....
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 【C#】Bitmapの描画について
返信数: 5
閲覧数: 2705

Re: 【C#】Bitmapの描画について

Bitmap上に4角形のオブジェクトを配置するマップエディタを作成しているのですが、 配置したオブジェクトの大きさや座標をNumericUpDownで連続で変更すると例外が発生します。 再描画の度にBitmapを新規作成していることが原因のようなので、 Bitmapを新規作成しないor描画間隔を少なくする といった方法は思いつくのですが、 どうすれば実装できるかがわかりません。どなたかアドバイスをお願いいたします。 例外のメッセージには何と書いてあったのでしょうか。 ArgumentException自体は,例えばnew Bitmap(0, 100)のような値を指定した場合に発生します。 た...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: visualc#のプログラムについて。
返信数: 3
閲覧数: 1671

Re: visualc#のプログラムについて。

visualc#のコンソールアプリケーションなのですが、コンソールアプリケーションを選んだあと一番上にusing System;だけ表示する方法ってあるでしょうか?通常試してみるとusing System;usingSystem.Collections. using System.Ling; usingSystem.Text; using System/Threading.Tasks;となってしまいます。 クラスのテンプレートがそのようになっているので,新しくテンプレートを用意しない限り無理です。 # LinqがあるのでSystem.CollectionsではなくSystem.Collect...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: mp4の再生
返信数: 7
閲覧数: 3300

Re: mp4の再生

あまりMP4ファイル形式について詳しくないのですが…… MP3ファイルが特殊な形式なので,あまりMP3ファイルを前提に考えるのはやめた方がよいのですが……。 MP3ファイルは,Mpeg-1 audioのチャンクをそのまま保存した形式です。 後付けで,ID3tagやLame tagというものができていますが,基本的には「生データのみ」のものです。 それに対して,通常のマルチメディアフォーマットは,コンテナであり,「データに関する情報」と「データ」を分離して保存しています。 一般的にPCMのみに使われているWAVEファイルも,RIFFコンテナでfmt チャンクに情報を入れればMpeg-1 aud...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 4478

Re: javafxにて別のAnchorPaneの操作

最初の回答にも書いた通り,JavaFXについては詳しくありませんが,
ビブロ さんが書きました:ここまではこの書き方で合っているでしょうか?
コードの仕組みとしては合っていると思います。

JavaFXの世界における標準的な書き方かどうかはわかりません。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 4478

Re: javafxにて別のAnchorPaneの操作

mainCon#melodycreatewindowの中でcreatemelodyconクラスのインスタンスに対して,自身のインスタンスを渡しておいて createmelodyconクラスのインスタンスに対して,自身のインスタンスを渡すという処理についてなのですが、文章をそのまま起こすと mainConクラスの非staticメソッドの中なのですから,自身のインスタンスはthisです。 newしたものは自身とは異なるインスタンスです。 また,createmelodyconクラスのインスタンスも単純にnewすればよい,というものではないです。 例えば,FXMLLoader#getControll...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 4478

Re: javafxにて別のAnchorPaneの操作

JavaFXには詳しくないですが……。 Caused by: java.lang.NullPointerException at application.SampleController.test(MainScreen.java:18) ←textarea.appendText(melody);の所 at application.SampleController2.action(createmelodycon.java:14) ←con.test(textarea.getText());の所 ... 60 more なので,このあたりを探ると,そもそも, public void sendmel...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 三次元ヤング図形 数え上げ
返信数: 20
閲覧数: 4800

Re: 三次元ヤング図形 数え上げ

https://iwiz-chie.c.yimg.jp/im_siggqlTdVNPl6suKf8zox10pbQ---x320-y320-exp5m-n1/d/iwiz-chie/que-10169092270 ] この一番左上,[5 1/1]の例について, a[1][1] = 5 a[1][2] = 1 a[2][1] = 1 だと思うのですが,a[1][2] > a[1][3] ≧ 1を満たしません。 任意のi, jに対して,a [j] ≧ 1かつa [j] > a [j + 1]だから,a [j] > [j + 1] ≧ 1。 i = 1, j = 2とすると,上記の式が出る。 これ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 三次元ヤング図形 数え上げ
返信数: 20
閲覧数: 4800

Re: 三次元ヤング図形 数え上げ

iとjの範囲に制限はないのでしょうか。
iとjに範囲があればa[j]は有限の値におさめる事ができますが,iとjに範囲がなければ,a[j]は無限を取り扱って処理しなければならなくなります。
# a[j]は整数と想定すると正の無限大に発散ですが。

問題文自体について(特に数式部分),もう少し正確に記述してみてはいかがでしょうか。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: c++における自己参照的なクラスに関して
返信数: 2
閲覧数: 2003

Re: c++における自己参照的なクラスに関して

しかし、このDimClassをこう変更するとコンパイルエラーになります。 確かにこのクラスはポインタの自己参照?を行ってはいるのですが、一定の値で止まるようにはなっています。 c++において、このようなことは不可能なのでしょうか。 メンバ変数で使われているため,newするかどうかに関わらずDimClass<T*>はインスタンス化されます。 このため,コンパイラはDimClass<int>からDimClass<int *>, DimClass<int **>……と無限に作ろうとして,当然ながら限界になってエラーになります。 このような場合は,テンプレートの部分特殊化を使うのが一般的かと思います...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C#の疑問がいっぱい
返信数: 41
閲覧数: 13837

Re: C#の疑問がいっぱい

Timer t = new Timer(); たったこの一行で エラー 1 'System.Threading.Timer' に、引数を 0 個指定できるコンストラクターがありません。 が出てきました。何故でしょう? 書いてあるとおり, System.Threading.Timerクラスのコンストラクタ には,引数が0個のものがないからです。 少なくとも,時間が経った時に呼ばれるコールバックデリゲートが引数として必要です。 TimerクラスってC#2つありますよね? どっち使ったらいいですか? Timerクラスは2つではないです……。 とりあえずですが,基本的には WinFormsであれば,...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C#の疑問がいっぱい
返信数: 41
閲覧数: 13837

Re: C#の疑問がいっぱい

・入出力がStreamでしかできないAPIってDataobjectの事ですか? いいえ。 世の中にはバイナリデータを処理する場合に,引数としてbyte[]やIEnumerable<byte>などを受け付けず,Streamしか引数としてとらないAPIが存在します。 別途得られたbyte[]データをそのようなAPIに渡す時などに,MemoryStreamでラップします。 e.g.) XmlReader.Create メソッド そもそも,Dataobjectというクラス・メソッド・プロパティ等は.NET Frameworkクラスライブラリには存在しません。 System.Windows.Forms...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C#の疑問がいっぱい
返信数: 41
閲覧数: 13837

Re: C#の疑問がいっぱい

①これは、都合上の問題なんですが、コマンドプロンプトが実行時すぐ閉じてしまいますよね?これを閉じないようにする方法を教えて下さい。 for(i=1; i<=1000000 i++){}を行の最後に入れるみたいな力業はなしでお願いします。待機してるみたいな感じのコードを追加できませんか? リリース版での話であれば,コマンドプロンプトを起動して実行することで結果が残ります。 エクスプローラーからの起動で終了するのは,上記を優先した結果の仕様としか言い様がないです。 デバッグ版をVisual Studioから起動した場合の話であれば,metaphorさんの書かれているようなConsoleの読み込み...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Windowsハンドル取得して操作する方法について[C#]
返信数: 23
閲覧数: 25699

Re: Windowsハンドル取得して操作する方法について[C#]

>自分でプログラム書いて作ったキャンパスなら普通に描いて保存もできますよね。 お絵かきソフトの自作は無理ってことですか? 保存するデータが,「内部で保持しているデータ」であれば保存できますが,「キャンバス」という,通常はウィンドウに表示するWidgetの話になっているので,「できない」と書いています。 あくまで保存するのは内部で持っているデータであって,描画された結果ではない,というのは理解されていますでしょうか。 もし他のアプリを操作できないのであるならばvar process in Process.GetProcessesByName("mspaint")このような記述を使う意味はあるん...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Windowsハンドル取得して操作する方法について[C#]
返信数: 23
閲覧数: 25699

Re: Windowsハンドル取得して操作する方法について[C#]

でもフリーソフトで画像やテキストを他アプリに転送したりするものはたくさん存在しますが、技術的に可能だからではないですか? 一例を挙げてもらえますか。 通常はクリップボードへデータを渡しているだけだと思いますが。 また,特定のソフトウェアに対してデータを渡す,というものはあり得ます。 Microsoft Officeの製品群などは,COMと呼ばれる外部インターフェースを持つため,COMとOfficeの規約に従った方法であれば外部から制御が可能です。 >アプリがそういう手段の提供をしていない場合 これがよく分かりません、これは操作されないためにするセキュリティ的な処理ということでしょうか? それ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Windowsハンドル取得して操作する方法について[C#]
返信数: 23
閲覧数: 25699

Re: Windowsハンドル取得して操作する方法について[C#]

他のアプリケーションを外部から操作したいのであれば,最低でもWin32 APIの仕組み程度は知っておいた方がよいかと。 描画に関して言えば,基本的にはGetDC等でウィンドウハンドルからデバイスコンテキストを得て描画するのではなく, WM_PAINTメッセージがウィンドウに送られてきたときにBeginPaintして得られたデバイスコンテキストに対して描画する,という仕組みが普通です。 WinFormsでも,直接コントロールに対してCreateGraphicsするのではなく,OnPaintメソッドのオーバーライドまたはPaintイベントで描画するのと同じです。 FromHwndメソッドを使っての...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Windowsハンドル取得して操作する方法について[C#]
返信数: 23
閲覧数: 25699

Re: Windowsハンドル取得して操作する方法について[C#]

http://wisdom.sakura.ne.jp/system/winapi/win32/win22.html ここに点を描画するwin32apiのプログラムを見つけました。 C#からこのsetpixelを使えば、ペイントに描画とか可能ですか? この方法ということは,単に描画できればよいのでしょうか。 電卓の方が「自動実行」,つまり電卓の機能を使って計算させるのが目的のようだったので,ペイントのデータとして描画したいのかと思ったのですが。 単純に,描画するだけであれば, using System; using System.Diagnostics; using System.Drawin...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Windowsハンドル取得して操作する方法について[C#]
返信数: 23
閲覧数: 25699

Re: Windowsハンドル取得して操作する方法について[C#]

C#で実行中のアプリケーションのWindowsハンドルを取得して、そのアプリケーションのフォームに文字などを挿入するプログラムを作りたいと思っています。 基本的に,他のプロセスに対して何かを行うというのは,そのプロセスが手段を用意してくれていない限り難しいと考えて下さい。 ①電卓(windowsでcalcで開くアプリ)で1+1=2を自動実行 calc.exeのウィンドウに対して SendMessage を使ってWM_KEYDOWN, WM_KEYUP等を送信してキー動作をエミュレートする calc.exeのウィンドウを前面に出して, SendKeys.Send などを使ってキーストロークを送...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: WPFとデータバインディング
返信数: 29
閲覧数: 12263

Re: WPFとデータバインディング

根本的な勘違いがありそうですが……。 XAMLは,本質的にオブジェクトのシリアライズ表現の一つです。 WPFだけでなくWF (Windows Workflow Foundation) などでも用いられた技術です。 # 最近WFがどうなっているか知らない&元々WFはXAMLでなくてもよかったので,とりあえず過去形の表現。 自分の認識としてWPFはGUI formのデザインがエンドユーザが「テキスト(XAML)」編集で自由に変更できる(開発環境要らない)というアイディアであると思っていました。 リソースにはなるものの,基本的にはそのような修正はできません。 ただし,XAML自体を読み込むために X...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: fprintfのアサーションチェック
返信数: 6
閲覧数: 3039

Re: fprintfのアサーションチェック

permission deinedは権限がない事を示しています。 今回の場合だと,ファイルを書き込む権限がないのでしょう。 出力先がカレントディレクトリになっていますが,書き込む時点でのカレントディレクトリは書き込み権限がちゃんとありますか。 カレントディレクトリは実行ファイルのあるディレクトリのことではないことに注意が必要です。 # ショートカットを作って作業フォルダを指定すれば,そこがカレントディレクトリの初期値になる。 対処法は,権限のあるところを外部から指定するなどして,書き込むか,エラーが起きたらユーザーに別の場所を指定してもらうか,といった方法になるかと思います。 ユーザーのDoc...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: fprintfのアサーションチェック
返信数: 6
閲覧数: 3039

Re: fprintfのアサーションチェック

エラー文よりアサーションチェックが入っていないためと考えたので アサーションチェックのところにif (fpw == NULL) {exit (1);}を 挿入しデバッグをしました。 すると今度はif文の判定で処理が落ちるようになりました。 これはアサーションチェックを無事通過するにはどのようにすればよいでしょうか? 呼び出しの間違いがassertによって検知されたために"Debug Assertion Failed!"というダイアログが表示されたのであって,このダイアログを消す事だけを目的にif文を書いても意味がありません。 今回の場合,おそらくはfopenに失敗した結果NULLが返ったにも...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: WPFとデータバインディング
返信数: 29
閲覧数: 12263

Re: WPFとデータバインディング

その中の「x:Key="colorConverter"」の存在意味は分かりません。 リソースとしてBindingTest.ColorConverterを利用するために記述します。 おそらく,後の方で Background="{binding BackColor, Mode=OneWay, Converter={StaticResource colorConverter}}" のような使い方をしているかと思います。 ここで,Binding.ConverterとしてBindingTest.ColorConverterを使うために,Resource内でクラスにx:Keyを付与しています。 x:Ke...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C# System.Deviceがない
返信数: 15
閲覧数: 5621

Re: C# System.Deviceがない

ざっと見たところだと, WinFormsのGUIスレッドで実行を行いたいのだから,DispatcherではなくControlのInvokeまたはBeginInvokeを使う。 今回はFormの内部だからthis.Invokeまたは単にInvokeでよい。 Delegateはそれだけで1つのオブジェクト。引数には,そのまま渡さないと意味がない。 md(textBox1, e)のようにしたら,メソッドを呼び出してしまうし,System.Delegateを返さないと辻褄が合わなくなってしまう。 使った事の無い.NET Frameworkのクラス・メンバーを使うのであれば,まずはMSDNを参照。 Di...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 初歩的なポインタの間接代入だとはおもうんですが、、、、
返信数: 18
閲覧数: 5586

Re: 初歩的なポインタの間接代入だとはおもうんですが、、、、

問1の部分ですが j = *p; により pの値が5になっていることからj = 2からj = 5になるのではないかと思っています。 なぜjの値が変化しないのでしょうか? jには,*pの値が代入されるのであって,pへの参照が代入されるのではありません。 つまり,j = *p;を実行した時点での*pでの値である2がjに代入されます。 その後,iの値 (=*p, *qの値) が5に変化しても,jの値は*pとは無関係なので変化しません。 根本的に,プログラムにバグがあるような場合を除いて,オブジェクトの値はそのオブジェクトを変更しない限り変更されません。 今回のプログラムでは,名前付きのi, j, ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: double型との比較
返信数: 5
閲覧数: 5387

Re: double型との比較

うーん,単純に,windがa以上b未満であることをループで調べればよいだけで,もともと0.1ずつ足して比較していく,という方針が間違いなのではないでしょうか。

コード:

double a, b, wind[N]; // 既知
int count = 0;
for (int i = 0; i < sizeof(wind) / sizeof(wind[0]); ++i){
    if (a <= wind[i] && wind[i] < b) ++count;
}
たぶん,本来こういうことをしたかったのではないかと。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: XNAについて
返信数: 4
閲覧数: 3505

Re: XNAについて

評価は……使っていないのでなんとも。
とりあえず,文字出すの面倒とかXBLIG運営(主に日本の)がダメだとか,そういう評価はあるにしろ,実際の所のゲーム制作としての評価はあまり聞いていないような……。

後継はMonoGameになるのでしょうけれども,現実的にはUnityとかで組み直す,かと。
Xbox系での実行という点では,Xbox OneはUWP対応なので,UWPで対象に含めれば実行可能なようです。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C初心者です
返信数: 3
閲覧数: 1948

Re: C初心者です

何をもって「簡潔」とするのですか。

現在のものでも十分に簡潔だと思いますが。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibのDrawPixelでリサージュ図形を描きたいです。
返信数: 7
閲覧数: 2741

Re: DxLibのDrawPixelでリサージュ図形を描きたいです。

点の数をもっと増やしてより綺麗な図形を作りたいのですが、どうかアドバイスお願いします。 そうしたいのであれば,その通りにやれば良いと思うのですが……。 点の数は,結局の所ループの回数で決定されます。なので, for(i=1;i<360;i++){ y=(int)(200*sin((double)i*3.14159/180*a)); x=(int)(200*sin((double)i*3.14159/180*b)); DrawPixel(x+300,250-y,cr); } このループの回数を増やせばよいです。 ただし,iはループ回数だけでなく角度にも使われているので,その分の補正が必要になり...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列のポインタを他のソースファイルで書き換えたい
返信数: 13
閲覧数: 5216

Re: 二次元配列のポインタを他のソースファイルで書き換えたい

根本的な所で,「配列はポインタでは無い」ことに注意すべきかと。 代入で しかし,以下のような代入は"aがポインタ定数"なるものらしくできないそうなので, といったエラーが出たようですが,文法上,特定の場合を除いて配列型のオブジェクトは配列の先頭要素へのポインタという値になるため,このようなエラーが出たのだと思います。 値というのは,つまりは1とかと同じなので,Cにおいて代入はできません。 配列は無理矢理図示すると, +--a : int[3]---+ |+-a[0] : int -+| || 0 || |+-------------+| |+-a[1] : int -+| || 10 || |...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でローグライクゲームを作ることは出来ますか?
返信数: 4
閲覧数: 4439

Re: C言語でローグライクゲームを作ることは出来ますか?

作れるかどうかですが,実例としてNetHackはCで作られています。
# ソースコードをgitリポジトリからcloneして確認。

他言語との比較は,単純に慣れや実行可能な範囲,サイズ等の問題なので人と規模によるとしか言い様がないかと。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでゲームの実行EXEとは別に設定EXEを用意したい
返信数: 15
閲覧数: 6876

Re: DxLibでゲームの実行EXEとは別に設定EXEを用意したい

普通に別のプログラムを作るだけだと思いますが……。
設定したい部分をファイルにして,ゲーム本体と設定アプリが同一のファイルを読み書きするようにすればよいです。
別に,2つの実行ファイルの間に依存関係を作るわけでも無いです。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のpthread_create(...)関数の使い放題
返信数: 15
閲覧数: 8526

Re: C言語のpthread_create(...)関数の使い放題

やはりthreadを多量発行するには thread poolを利用するのは常識みたいですね。 windowsが提供しているthread poolのAPIは悪くないが、将来LINUXに移植する可能性もありますので、 ちょっと欲張りな要望ですみませんが、 ソースコードのレベルで見かけ上LINUXでもwindowでも同じようなやり方はないでしょうか。 先にも書きましたが,現時点では標準機能としてthread poolは存在しないので,真似るしか無いようです。 実際に実装した事が無いので検索してみましたが,Boost.Asioを使って実装する,<thread>を駆使する,などが見つかりました。 ただ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: グローバルキーフックについて
返信数: 6
閲覧数: 3426

Re: グローバルキーフックについて

フックまわりは詳しくないですが……。 CallNextHookExを呼べば,それはそのままシステム既定の処理まで辿り着くのは想像が付きます。 で,MSDNを読むと,処理をして後続の処理を断ちたい場合は非0を返せ,とあります。 If the hook procedure processed the message, it may return a nonzero value to prevent the system from passing the message to the rest of the hook chain or the target window procedure. なので...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 課題で*を使って△を表示.....
返信数: 6
閲覧数: 3692

Re: 課題で*を使って△を表示.....

ネバー さんが書きました:出力画面の真ん中って意味です......。
標準出力がディスプレイに繋がっていると仮定しても,表示可能な幅や高さを知る方法は標準規格には存在しません。
特定の環境用,という前提があれば,何らかの方法で幅や高さを知ることができるかもしれませんが。

まずは,課題で言う「真ん中」が本当に「出力画面の真ん中」という意味なのかは確認した方がよいと思います。
もしかしたら,幅や高さに何らかの仮定がなされているかもしれませんし。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 非同期処理の使い方 (fork from C言語のpthread_create(...)関数の使い放題)
返信数: 1
閲覧数: 2163

Re: 非同期処理の使い方 (fork from C言語のpthread_create(...)関数の使い放題)

基本的に,UIスレッドで時間のかかる処理は行わない,というのが大原則です。 ・時間のかかる処理(シミュレーション、レンダリング等)のスループットを上げる データ並列であれば,fork-join系の処理になります。 .NETだとPLINQが使えるパターンでしょうか。 ・多少時間のかかる処理(ファイルロード、デバイス待ち等)を行うときにGUIが止まらないようにする デバイスへのI/Oに関わる時間は,非同期I/Oと終了時のコールバック (IO完了ポート等) を利用します。 この場合,スレッドやスレッドプールを利用することは普通しません。 まぁ,旧来のselectを使う場合はスレッドを1つ専有しますが。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 非同期処理の使い方 (fork from C言語のpthread_create(...)関数の使い放題)
返信数: 1
閲覧数: 2163

非同期処理の使い方 (fork from C言語のpthread_create(...)関数の使い放題)

元トピック で明らかに主題からずれた話がでてきたので,新たにトピックを立てます。 まず,いままでの流れの引用。 Windowsでマルチスレッドをするのであれば、下記のものがおすすめです。この掲示板で質問してもすぐ答えが返ってくると思います。 .NET Framework -> BackgroundWorkerクラス Windows SDK -> CreateThread関数 [hr] 横からですみませんが、なぜ.NetではBackgroundWorkerを押しているのか理由を聞いてもいいですか? 個人的には多少の何かしらの犠牲があったとしてもasync/awaitを使ったTaskのほうが読み...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のpthread_create(...)関数の使い放題
返信数: 15
閲覧数: 8526

Re: C言語のpthread_create(...)関数の使い放題

async/awaitは使ったことがないんです。すみません。 個人的には、ラムダ式のような見た目が初心者向けではないかなと思います。 ラムダ式……?Taskを直接使っている場合にはラムダ式で書くことも多いですが……。 see) http://dixq.net/forum/blog.php?u=546&b=3452 まぁ,async/awaitはConfigureAwait(false)忘れてUIの資源使ってしまったり,ADO.NETのドライバーが実はasync/await対応していなくてawaitをUIスレッドを止めてしまったり,という罠はありますが……。 Threadクラスが一番単純なので...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Count Sort でRuntime Error
返信数: 10
閲覧数: 4402

Re: Count Sort でRuntime Error

直接関係ありませんが,記述されているコードは C でしょうか。 C++ でしょうか。
  • Cだと,using namespace std;は不正。また,通常<iostream>は存在しない。
  • C++だと,int A[n];およびint B[n];は不正。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: printfの%fと%lfについて
返信数: 3
閲覧数: 7009

Re: printfの%fと%lfについて

ですが、%fはfloat型への、%lfはdouble型への書式指定子ですよね? fprintf系列において,%lfは%fと同じ意味です。 fscanf系列において,%lfと%fは異なる意味です。 後者で使い分けないといけないという認識が,前者に波及してしまっているのだと思います。 歴史的に見ると,ISO/IEC 9899:1990 (標準Cの初版, C90) では,fprintf系列でlを前置可能な変換指定子はd, i, o, u, x, X, nだけでした。 それ以外の変換指定子に使うと未定義の振る舞いとされていました。 その後、ワイド文字系のライブラリが増加した,ISO/IEC 9899...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 限定じゃんけんで手を
返信数: 16
閲覧数: 7253

Re: 限定じゃんけんで手を

 もうひとつ using namespace std; をわたしは(テキストに倣って)使っておりますが、みけCATさんはじめ、みなさん使わずにstd::で描かれる方をよく見るのですが、これは習慣や環境によるものでしょうか。それともusing namespace std;などを使うとエラーが起きたり好ましくないということなのでしょうか。 基本的に名前空間を個々に修飾するか,usingするかは, 他のソースにincludeされない予定のファイルや,関数などのスコープ内であれば,どちらで書いても良い ヘッダファイルのように,他のソースにincludeされるファイルでは,名前空間を個々に修飾する →...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C# 行数を表示したい。
返信数: 17
閲覧数: 7228

Re: C# 行数を表示したい。

リンクされたページ,確かに英語バージョンですが,それでも“1. オプションウィンドウを開く”のところに,
もし、上の画面のように詳細表示で無い場合は、オプションウィンドウの左下にある『Show all settings』のチェックボックスを選択します。
と書いてありますよね。
そして,投稿された画像中には左下に[すべての設定を表示]というチェックボックスがあります。

[Show all settings]はこの[すべての設定を表示]に対応するチェックボックスですから,これを押す必要がある,とリンクのページに書かれているわけです。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Runtime API と driver API
返信数: 12
閲覧数: 4112

Re: Runtime API と driver API

質問者からの回答がないようなので,とりあえず一般論的に。 まず,APIとはApplication Programming Intefaceの略です。 大雑把に書くならば,何らかの(既存の)ソフトウェアやハードウェアに対して,主にほかのソフトウェアからアクセスして操作したり,情報を得たりするための手段を定めたものです。 大抵はソフトウェアライブラリだったり,HTTP(HTTPS)のURIとして表されたりします。 その上で,Runtime APIやdriver APIと書かれても,それは作成者がそのAPIに対してそのように名付けた,という違いしかありません。 driver APIと言われれば恐らく...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C# 行数を表示したい。
返信数: 17
閲覧数: 7228

Re: C# 行数を表示したい。

dic さんが書きました:もし、設定で行数を表示される方法があったら教えてください。
[ツール] - [オプション], [テキスト エディター] - [C#] - [全般] - [行番号]
または
[ツール] - [オプション], [テキスト エディター] - [すべての言語] - [全般] - [行番号]
です。
オフトピック
環境の都合上,Visual Studio 2010 UltimateおよびVisual Studio 2015 Professionalにて確認。
また,[編集] - [ジャンプ]のショートカットである,[Ctrl] + [G] で指定行への移動ができます。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Runtime API と driver API
返信数: 12
閲覧数: 4112

Re: Runtime API と driver API

何についての話でしょうか。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIのエディットボックスにプログラム側から文字列を表示させたい
返信数: 4
閲覧数: 3761

Re: Win32APIのエディットボックスにプログラム側から文字列を表示させたい

Edit Control Text Operations (Windows) - Setting and Retrieving Text An application can set the text of an edit control by using the SetWindowText function, the SetDlgItemText function, or by sending the control a WM_SETTEXT message. MSDNに書いてあるとおり, SetWindowText APIを使う →同一プロセス内の対象のエディットコントロールのハンドルが...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: rewind()の使い方について
返信数: 3
閲覧数: 6838

Re: rewind()の使い方について

rewind(stdin);がきたところで、標準入力から読んだ内容をチャラにするということですね。 まず,rewind(stream)と(void)fseek(stream, 0L, SEEK_SET)は,エラーなどの処理を除き,同等の効果です。 そして,標準入出力に対してrewind/fseekできるのかどうかは,仕様書上の定義がありません。 rewind(stdin);について,仕様書通りに捉えるのであれば,標準入力ストリームの先頭にファイル位置表示子を移動させるだけなので,以降は今までの入力を再度読み込む,となります。 fseek(stdin, 0, SEEK_SET)は失敗し,rew...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: この表記はどの様な意味ですか?
返信数: 3
閲覧数: 2190

Re: この表記はどの様な意味ですか?

kinect V2のBodyクラスのメンバー変数なのですがこれはどういった意味の表記ですか? とりあえず,C#ではメンバー変数という用語は使いません。 C++におけるメンバー変数はフィールドと呼びます。 public IReadOnlyDictionary<JointType, Joint>Joints { get; } 引数が(添え字?)2つ有るのがよくわかりません、 読み取り専用の構造体の配列でしょうか これはフィールドではなく,プロパティです。 可視性がpublic,型がIReadOnlyDictionary<JointType, Join>,名前がJoinsで,読み取り専用となります...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: スレッドのメッセージ数の確認
返信数: 2
閲覧数: 1586

Re: スレッドのメッセージ数の確認

一応,GetQueueStatusというAPIがあります。
ただ,常にGetMessageして,内部で別途キューに溜めておき,そちらのキューにたまっている数で制御した方が,やっていることがわかりやすいかと思います。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: .lib や.objなどのソースコードを見たいです
返信数: 4
閲覧数: 1921

Re: .lib や.objなどのソースコードを見たいです

コンパイルされたコードを元に戻すことは不可能です。
元のコードを修正するのが唯一の確実な方法になります。

C/C++だと逆コンパイラの精度もあまり高くないかと。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]先に値型の変数を返して、後から参照でその値を変更したい
返信数: 6
閲覧数: 3608

Re: [C#]先に値型の変数を返して、後から参照でその値を変更したい

参照戻り値と参照ローカル変数を使いたい、ということでしょうか。 そうであるならば、C#7で利用可能です。 Roslynの最新版をコンパイラとして使っているような環境で無ければ、次のVisual Studioあたりに付属するバージョンのコンパイラから利用可能になるでしょう。 今すぐ必要ならば、 Roslyn のmasterブランチあたりをビルドして、コンパイラをすげ替えてやれば使えるかと。 # というか、 Visual Studio “15” Preview 4 とかを使えばref returns and localsは使えるはず。 refs) roslyn/Language Feature S...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: [JavaScript] なぜかうまくいかない
返信数: 4
閲覧数: 4301

Re: [JavaScript] なぜかうまくいかない

エラーメッセージが英語でわかりません。 エラーメッセージは Uncaught TypeError: Failed to execute 'fillText' on 'CanvasRenderingContext2D' : 3 arguments required, buf only 2 preset. ref) Google 翻訳 :キャッチされない例外TypeError:必要な3つの引数が、唯一の2プリセット:「CanvasRenderingContext2D'on'にfillText'を実行できませんでした。 Bing 翻訳 : キャッチ TypeError: は 'CanvasRend...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: URLを短く表示させたい。
返信数: 2
閲覧数: 1744

Re: URLを短く表示させたい。

DetectUrlsを自分で用意するようなものは,提供されていないようです。
ただし,CHARFORMAT2構造体に使える値として,CFM_LINKおよびCFE_LINKが用意されています。
これらを使えば,自分で特定の文字列をリンク文字列とすることができるようです。
ref) RichTextBox における埋め込みリンクの方法について (MSDN Forum)Links with arbitrary text in a RichTextBox - CodeProject
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 引数の違う親クラスの関数が使えなくなる
返信数: 6
閲覧数: 3093

Re: 引数の違う親クラスの関数が使えなくなる

MyClassに

コード:

using Base::func;
と追加すると,Base::funcをMyClassのname lookup対象に追加できます。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: UDP受信待機中に同一ポートからブロードキャスト送信
返信数: 2
閲覧数: 2204

Re: UDP受信待機中に同一ポートからブロードキャスト送信

ブロードキャスト対象のアドレス範囲に,自分自身がいるからではないでしょうか。
例えば,192.168.0/24のネットワークがあって,自アドレスが192.168.0.1の場合に192.168.0.255宛てに送ったパケットは,当然192.168.0.1も受信対象になります。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: c#で再帰関数を使った順列の求め方
返信数: 4
閲覧数: 2869

Re: c#で再帰関数を使った順列の求め方

関数に変数を渡した場合、関数内で値を変えても変化しませんが、文字列やリストや配列の場合、 書き換えられてしまうのは普通のことなのでしょうか? 値型にしろ参照型にしろ,refやoutを伴わない限り,メソッド呼び出しにおいて変数の指すオブジェクトは変化しません。 変数の値自体がメソッドにコピーされるためです。 さて,その上でint (System.Int32) は値型です。 この場合,「変数の値」とは「オブジェクトそのもの」になります。 また,メソッド中で引数のオブジェクトのメソッドを呼び出して状態を変更しても,元のオブジェクトの状態は変更されません。 しかし,string (System.St...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルのコピーについて
返信数: 1
閲覧数: 972

Re: ファイルのコピーについて

fgetsがNULLを返した場合に,feof関数やferror関数を使って判断すれば良いかと思います。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Studio Express 2012 for Windows Desktopの対応OS
返信数: 1
閲覧数: 1174

Re: Visual Studio Express 2012 for Windows Desktopの対応OS

公式的に,VS2012はWindows10に対応しているとなっています。
ref) 開発ツール 対応OS 一覧
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: コンテナクラスでのエラーが出る、並びにSTLでの自作クラスの扱い方
返信数: 6
閲覧数: 3196

Re: コンテナクラスでのエラーが出る、並びにSTLでの自作クラスの扱い方

2つ質問をさせていただきます 1トピックに対して質問は1つにした方が,回答もつきやすくなりますし,過去ログとしての価値も高くなります。 直接的に関連するならともかく,異なる内容であればトピックを分けた方が良いでしょう。 このコードは自分の期待した通りの動作をしてくれるのですが、このテンプレートクラスのメンバ関数である、 get_first()並びにget_eol()の定義をクラスの外に出して書くと、エラーが出てしまって実行できません ざっと見たところ,get_firstおよびget_eol両関数がクラス内に宣言されていないようですが。 .を打ち込むとvectorのメンバ関数を呼び出すことしか...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: c++の命名規則について
返信数: 8
閲覧数: 4619

Re: c++の命名規則について

c++はあくまでc言語の強化なので標準ライブラリの命名規則をc言語に沿うようにした、という認識でいいのでしょうか? 初期のC++はC with classesという名前の通り,Cにクラスを追加しただけのものだったわけで,Cに沿わせた可能性は高いと思います。 c++の開発者の好み… あくまで利用者である以上は有無を言わずそれに順応しろということですかね… 標準ライブラリがsnake caseで提供され,それを使う以上は標準ライブラリがsnake caseであることを受け入れなければなりません。 それ以外の識別子には,いくつかの制限がある (__などが使えない) ことを除けば名前について制限は無...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: c++の命名規則について
返信数: 8
閲覧数: 4619

Re: c++の命名規則について

歴史的経緯を考えれば,Upper-camel (Pascal) case ではないことは,ある程度予想が付きます。 まず,Cのライブラリが小文字のみからなること。 初期のC++コンパイラであるCfrontはCへのトランスレータですから,Cのライブラリと調和が取れた表記であることは必要条件です。 この時点で,Upper-camel caseはCのライブラリと合わなくなります。 あと,namespaceは標準化がなされる段階で入った,新しい機能です。 ref) D&E 日本語版 P.165 このため,少なくとも初期のライブラリの名前付け規約を考える上で,namespaceは存在せず,考慮に入れられ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: ツイッターストリーミング
返信数: 2
閲覧数: 1539

Re: ツイッターストリーミング

Twitterのタイムラインをストリーミングで取得するのに  StartObservableStream が必要だと思いますが Streaming APIを利用するのに,必要なのはネットワーク接続系のAPIです。 C#だとSystem.Net.Sockets.Socketとか,System.Net.HttpWebRequest/System.Net.HttpWebResponseとか,System.Net.Http.HttpClientです。 using CoreTweet.Streaming.Reactive;  ← これがインポート出来ません。 CoreTweetとReactive Ex...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++で作ったフォームをC#フォームから呼び出したい
返信数: 1
閲覧数: 2335

Re: C++で作ったフォームをC#フォームから呼び出したい

Windows APIの世界ではフォームという言葉を使わない (Windowと呼ぶ) のですが……。 それはさておき。 基本的な,C++でDLLを作ってC#から呼び出す方法は理解されていますか。 つまり,ひとつのソリューションに,[Visual C#]-[コンソール アプリケーション]と[Visual C++]-[Win32 プロジェクト] (種類:DLL) を入れて, コンソールプログラムからDLLの関数を呼び出すことができますか。 これができないならば,WinFormsもDXLibも横に置いて,上記について理解することです。 さらに,「DLLの関数」と書いているように,関数を呼び出すのであ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 大容量wavファイルを, 分割してbinaryで保存したいです。
返信数: 4
閲覧数: 3155

Re: 大容量wavファイルを, 分割してbinaryで保存したいです。

プレビューすればわかると思うのですが,引用の中に引用では無い文が入ってしまっているため,どれがみけCATさんの文でどれがp5aさんの文なのか,わかりにくいです。 quoteは適宜分割して,引用である部分のみに使う必要があります。 一時間以上の大容量wavファイルを, wavファイル といっても、いろいろな形式が存在します。 「とりあえずPCM (フォーマット番号 = 0x0001)だけ対応」「全部に対応」など、どの程度対応したいですか? すべてに対応させたいと考えています。 <mmreg.h>を見ると,WAVE_FORMAT_から始まる値は,拡張用と思しきEXTENSIBLEと開発用と思しきD...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: ハンドルが変な値を叩き出してしまいます・・・
返信数: 3
閲覧数: 2314

Re: ハンドルが変な値を叩き出してしまいます・・・

-842150451と書くと何のことやら,ですが,0xCDCDCDCDと書くと,未初期化変数の類であることが想像つきます。
代入しているはずの部分を確実に通っていることや,変数のスコープを間違えていないことなどを確認してみてはどうでしょうか。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: natupnp.hについて
返信数: 6
閲覧数: 3104

Re: natupnp.hについて

Windows SDKに含まれます。Visual Studio付属のWindows SDKにも含まれています。 VS Community 2015 Update 3がインストールされているWindows 10 Professional (10.0.14393)という環境で FOR %A IN (natupnp*.h) DO @ECHO %A をC:\Program Files (x86)\Windows Kitsで実行してみると, C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\um\natupnp.h C:\Progra...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 抽象クラス1の子クラス抽象クラス2の子クラスの関数
返信数: 10
閲覧数: 3327

Re: 抽象クラス1の子クラス抽象クラス2の子クラスの関数

基本的に,C++において,宣言した範囲で出来ないことはするな,です。

今回の場合,敵のみが行う事があるのであれば,Two*なりThree*なりで取り扱うべきです。
なぜ,One*として取り扱う必要があるのでしょうか。
オフトピック
単純に,std::vector<One *>があるからといって,std::vector<Two *>を作ってはいけないわけではないし,
一つのインスタンスへのポインタを両方に入れて良いのだから,Two *として取り扱わない理由が無い。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 抽象クラス1の子クラス抽象クラス2の子クラスの関数
返信数: 10
閲覧数: 3327

Re: 抽象クラス1の子クラス抽象クラス2の子クラスの関数

なぜそういうことをしたいのでしょうか。

One*型の変数であると宣言していることは,その変数はOne*型として取り扱う,と言っていることになります。
Bという関数はOneというクラスに存在しないのですから,当然使えません。

Two*型にdynamic_castすることで使えるようにはなりますが,もっと手前の話として,
  • そもそもOne*として取り扱うのが間違い
  • そもそもOneにBという関数がないのが間違い
  • そもそもBを呼び出そうとしているのが間違い
のどれかだと思います。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: fread関数と補数表現の対処法
返信数: 6
閲覧数: 3166

Re: fread関数と補数表現の対処法

コード中のmって何? fwrite関数でバイナリとして書き込んだb [j] = 199 = 1100 0111を 上のfread関数で読み込むとbuffer[3] = 0xffff ffc7と読み込まれます。 これは,どうやって確認しましたか。 例えば,printf("0x%02x", buffer[3])のように調べたのであれば,charが符号付きかつ負数を2の補数で表す処理系において, char型の数値-57 (ビット表現:1100-0111) がint型に変換されて,それを16進数で出力していることになります。 現代の個人が扱える環境においてint型は32bitであることが多いでしょう...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 【愚問】C言語のヘッダファイルについて
返信数: 4
閲覧数: 3267

Re: 【愚問】C言語のヘッダファイルについて

初歩的な質問ですみません。愚問です。 初歩的とか愚問とかは書く必要はありません。 回答者に対して印象を悪くするだけです。 1.それってつまり、 ヘッダファイルという、プログラムのコードが書いてあるプログラムの内容を [#include <stdio.h>] と書いてある部分に書いたのと同じということでしょうか? おおむねその通りになります。 __FILE__と__LINE__に限って,インクルードしているファイル名やファイルの行番号になるため,動作が異なります。 また,非標準のプラグマであるonceのように,一つの翻訳単位中で2度目以降に読み込まれた場合に動作が変わるものがありますが, それ...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: Debug Assertion Failed!
返信数: 4
閲覧数: 4020

Re: Debug Assertion Failed!

assertの表明失敗であれば,失敗した式やソースファイル名,行番号が書かれているはずです。
あとは,呼び出し履歴辿って変数の値が想定通りか調べていけばよいと思うのですが。

参考:過去に書いた,この手のバグに対するデバッグの導入部分
http://dixq.net/forum/viewtopic.php?f=3&t=17999#p138073
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: DLLを一つにまとめたい
返信数: 4
閲覧数: 3295

Re: DLLを一つにまとめたい

一つにすることにメリットはないと思いますが,どのような目的でそれをしたいのでしょうか。 ただDLLの数が多くなったときに複雑そうに見えるからです。 アプリケーションの利用者から見た場合であれば,DLLが多くても関係ないです。 ライブラリの利用者から見た場合にDLLが単純に多いと,それへの参照設定等が面倒ではありますが,対策としてはnuget使って.nupkg化してしまうことでしょう。 nugetにパッケージをアップロード出来るのが一番使いやすいのですが,それ以外にも, ローカルのディレクトリをnugetの検索対象に追加しておく mygetなどのサービスを使う 自分でWebサーバーを立てて,n...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: DLLを一つにまとめたい
返信数: 4
閲覧数: 3295

Re: DLLを一つにまとめたい

aridai1221 さんが書きました:C言語 で書かれた DLL (A.dll) を
C# で書かれた DLL (B.dll) で利用しているのですが、
これらを .NET Framework で利用できる1つの DLL (C.dll) にすることはできるのでしょうか。
純粋に出来るかどうかで言えばどちらもCOFFですしできるでしょうけれども,その手段は自分でlinkerを書くことになるかと思います。
一つにすることにメリットはないと思いますが,どのような目的でそれをしたいのでしょうか。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のファイルで自作クラスを使いたいのですが...
返信数: 2
閲覧数: 1596

Re: 複数のファイルで自作クラスを使いたいのですが...

大雑把に書くと (標準規格とかの話は無視します),ヘッダファイルにはメモリの確保を伴わない物を書きます。
この例外はinline関数 (クラス定義内やtemplateによる暗黙のinline関数を含む) です。
関数や変数の定義はメモリを確保するので,ヘッダファイルに書いてはいけません。

メモリの確保を伴う物は,Class.cppのようなソースファイルに記述します。
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: TCHARなどの解説がほしい
返信数: 1
閲覧数: 1610

Re: TCHARなどの解説がほしい

わかる部分だけ。 ・その仕組みを表す言葉は? 汎用テキストマッピングまたは汎用テキストマップ。原語はgeneric text mappingで,私はマッピングと訳すのですが,MSDNでは基本的にマップと訳すようです。 ただ,マッピングと書かれている部分もあったりします。 ref) https://msdn.microsoft.com/ja-jp/library/szdfzttz.aspx https://msdn.microsoft.com/ja-jp/library/szdfzttz.aspx 私個人としては,TCHARは95系とNT系でそれぞれネイティブなコードを書くときに,一つのコードで...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: テキストデータの読み込みについて
返信数: 2
閲覧数: 1625

Re: テキストデータの読み込みについて

質問するときには言語を書かないと,どの言語についての質問かがわかりません。 とりあえず,コードを見た感じやエラーコードからC#であると仮定します。 しかし、変数が未割り当てのローカル変数となりました動きません(エラーコード:CS0165) これは,「理論上実行されうるプログラムのパス」の中で,「一度も代入がないローカル変数から読み取り得る」場合に発生します。 今回の場合だと,match.Successが偽の場合,st_nameやst_lvに値が代入されないまま,49行目や50行目で読み取られています。 回避策は, 代入されないパスでは使わない 常に代入する といった方法になります。 基本的には...
by YuO
7年前
フォーラム: C言語何でも質問掲示板
トピック: (C#)領域先頭を指すポインタを引数に取るC(DLL)の関数を呼ぶ場合
返信数: 4
閲覧数: 3230

Re: (C#)領域先頭を指すポインタを引数に取るC(DLL)の関数を呼ぶ場合

>あっていますが,書かれているコードは通常の方法ではありません。 byte[] はBlittable型である(byteがBlittableで,その1次元配列だからBlittable型である)ので, わざわざunsafeって書いてポインタを使わなくても,byte[]型として書けばよろしくやってもらえる. ・そうすればfixedと書かなくても自動で固定してもらえる 通常のP/Invoke呼び出しにおいてはこれで問題ないです。 問題が起きるのは,ポインタを関数側が保持していて,そこへ非同期で読み書きするような場合です (ReadFileやWriteFileにlpOverlappedを指定した場合な...

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