エスパーが質問に答えるスレ

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/08/24(金) 11:30:45
質問はあるけど、詳しい事は書けないと言う人はこちらで質問をどうぞ。
名無しのエスパーが回答します。
宿題スレで相手にされなかった人もこちらでどうぞ。

使用に関しての注意
 (1) 基本的には答えますが、未熟者〜上級者・エスパー等います
 (2) 回答者:書かれている情報を頼りに、不足部分は各自補って解決へ導く事
    質問者:結果が自分の意図よりも異なった場合、反省+情報をもう少し詳しく明記する事
 (3) マルチはスルーする事
(4) ★質問者は、名前欄に質問提起時のレス番号を記入する事(別質問なら別番号で)★ 誰が誰やら分かりません
2009/11/21(土) 19:24:54
>>171
え!?ああなるの!?
シラナカッター
174デフォルトの名無しさん
垢版 |
2009/11/26(木) 20:11:08
保守age
2009/11/29(日) 10:13:58
やばい、、、質問者もエスパーだからこのスレ使わずに質問と回答が行き交っている・・・
176デフォルトの名無しさん
垢版 |
2009/11/29(日) 13:02:06
教本を買って始めてみたばかりなのですが、コマンドプロンプトにプログラムで表示させる文字表が示がされなくなってしまいました
「ようこそC言語へ」とコマンドプロンプトに表示されるプログラムを実行して一度表示されたはいいのですが、再度同じ操作をして実行しても
エラーは出ないのですが空欄になって文字の表示が出ない状態です
解決策がありましたらご教授願います
177デフォルトの名無しさん
垢版 |
2009/11/29(日) 13:07:00
書き忘れましたがC言語です
コマンドプロンプトでの他操作、IPやらポート表示はきちんと表示されました
ソースも何度か見直してみたのですが間違ってはいないようです
2009/11/29(日) 13:33:47
コードページとか?
Welcomeに変更しても出ない?
2009/11/29(日) 13:34:42
というかESP能力がそれほどでもないのでソース貼ってみてくれないか
2009/11/29(日) 13:51:25
#include <stdio.h>

int main(void)
{
printf("ようこそC言語へ!\n");

return 0;
}

です
イベントID59のシステムエラーが直らないのも関係あるんでしょうか?
解決しない様でしたら上記の問題もあるのでOS入れ直すつもりです
2009/11/29(日) 14:04:28
printfの戻り値をちゃんとチェックしろよ
2009/11/29(日) 14:11:43
いや、空欄ってことは改行は出力してるんじゃ?
そうするとprintfは問題ないし、、、やっぱprintf("Welcome\n");
2009/11/29(日) 15:08:51
Welcomeで出ました
コレはかな入力に対応する何か足りないものがあるんでしょうか?
2009/11/29(日) 15:23:08
>>183
環境とかわからんけど、
#include <locale.h>
してprintfの前で
setlocale(LC_ALL,"");
してみては。
2009/11/29(日) 15:27:44
>>184
うまくいきませんでした

教本の手順で表示させられないとなると先に進めないので、OS入れ直してみます
ありがとうございました
2009/11/29(日) 15:44:52
OS入れなおす苦労は簡単に選択するんだな
でもそのOSがcygwinとかmingwだったら笑う
2009/11/29(日) 15:45:47
>>175
ワラタ
2009/11/30(月) 23:17:02
>>176
わかった!
メモ帳でセーブするとき、文字コードを UTF-8 にしているな?
2009/12/01(火) 10:04:24
setlocale( LC_ALL, "Japanese" );
とか
2009/12/16(水) 20:50:19
フリーのVC++で使える
フリーのプロファイラって無いんですか?

マイクロソフトからダウンロードできるスタンドアロンコマンドラインプロファイラ
ってやつ落としてみたけど全然分からなかったorz
191デフォルトの名無しさん
垢版 |
2009/12/29(火) 14:52:41
環境:VisualStudio2008
言語:C++(使ってるlibの内部はCかも)

CのFILE*って、スレッドをまたぐと無効になったりするのでしょうか?

ネットで拾ったlibをプログラムに組み込んでみたところ、
そのlibの中でfopenしたファイルポインタはきちんと使えてるのですが、
libの外でfopenしたポインタを渡すように少しlibのソースを改造すると
途中で例外が出てプログラムが止まるようになります。

自分で調べた限りでは、(おそらくlibの中で呼んでる)fseek関数の中で _lock_str(FILE*) したときに
「ファイルのロックを行うifブロックに流れている」のですが、
外からファイルポインタを渡すとそのifブロックを外れてelseで EnterCriticalSection という関数に流れてしまい
それが例外を吐いているようです。

libがfopenする前にスレッドを分けている感じなので、
ひょっとしたらマルチスレッドが原因なのかな?と思っているのですが、そんなもんなんでしょうか
2009/12/29(火) 14:54:25
/MTと/MDの差?
エラーをNODEFAULTLIBとかで無理やり抑えたとか
2010/01/07(木) 21:51:43
>>191
無効にはならないことが問題になるのでスレッドをまたいだらNG
194デフォルトの名無しさん
垢版 |
2010/06/23(水) 18:16:08
h
2010/06/25(金) 20:56:13
エスパーが質問するスレでございます
2010/06/26(土) 01:15:22
Sパー(Superパー)が質問するスレでございます
2010/06/29(火) 08:16:28
24時間以内に質問は来ないな。
2010/06/29(火) 17:30:01
俺は何がしたいんだろう。
2010/06/29(火) 18:11:46
質問来ましたね、9時間ちょっとで
200197
垢版 |
2010/06/30(水) 14:52:41
>>199
198はエスパー
201デフォルトの名無しさん
垢版 |
2010/07/14(水) 09:28:47
なぜ
2010/07/22(木) 08:58:46
別スレより誘導されてきました


定期的に更新する5つのオブジェクトの内容を画面に表示するとき

・ひとつの表示クラスに5個のオブジェクトを所有させる
・表示領域を担当する表示クラスを5個作ってそれぞれを結びつける

どちらにした方がやりやすいでしょうか・・・?
2010/07/22(木) 13:12:41
>202
拘束条件がそれだけで、その他は全て任意の条件を取り得るならどっちでも同じ。
まあ大抵は表示するクラスをビューとして、前者で実装することが多いだろう。
2010/07/23(金) 16:28:51
>>202
表示オブジェクトが更新オブジェクトに、
更新時に実行してもらいたい処理をコールバックとして登録することができれば、表示クラスが直接所有させる必要はなくなる。
(必要があれば、所有してもかまわない)
2010/07/23(金) 18:15:06
よこから失礼するけど>>204はどういうこと?
2010/07/23(金) 22:34:14
エスパーにきけ
207デフォルトの名無しさん
垢版 |
2010/07/23(金) 23:51:12
今回答のテレパシーを送っています。
2010/07/24(土) 02:38:17
windows7で自作アプリがタスクバーの一番後ろに回されます。
一瞬フォーカスが外れてまたすぐに戻る感じです。
再現されたりしなかったり不明です。
XPでは問題ないですが、何か情報ありませんか?
2010/07/24(土) 02:50:07
前に出るように念じてみましたか?もしそれでもダメでしたらあなたの念力が足りません。
2010/07/24(土) 14:00:34
>>205
GUIでボタンが押されたときの処理を記述する際、
C#ならOnClickに、Javaならボタンに対するActionListenerを追加する。

これと同様な仕掛けを、更新オブジェクトに用意しておくの

class UpdateObject {
event HogeEvent OnUpdate;
}

で、表示側では、後で呼び出してもらうよう登録しておく

class DispObject {
void InitDispObject(obj UpdateObject) {
obj.OnUpdate += 呼び出してもらいたいメソッド
}
}

更新オブジェクトで内容が更新されたら、登録された処理を呼び出す

class UpdateObject {
void DoUpdate() {
// 内容の更新処理を行う
...

// 登録された処理を呼び出す
if (OnUpdate != null) OnUpdate(...);
}
}

更新オブジェクトは、ただ登録された処理を呼び出すだけなので、誰に所有されようが関係ないってこと。
2010/07/25(日) 05:08:31
このような形でホストPCからシリアルポートを通じて複数のマイコンを制御しようと考えています。
ホストPC---マイコン1(ID1)----マイコン2(ID2)----・・・

各マイコンごとにclass Controlerのオブジェクトが対応してマイコンに対してコマンド文字列をASCIIで送信します

ここでこのコマンド文字列生成の責任の所在について質問です

現在はControlerがコマンド生成に必要な値を収めているstruct Parametersを所有していて
それと対象マイコンのIDを使用して文字列生成しているのですが
この場合だとハードウェアや通信プロトコルに変更があった場合
ControlerとParameters両方を変更しなければならない可能性があります。

Controlerがコマンド文字列を返すCommandクラスを所有するようにして、
それにIDを渡してCommandにコマンドを生成させた方がいいのでしょうか?

それともほかにスマートな解決方法があるでしょうか?
2010/07/25(日) 14:53:36
Parametersクラスにコマンド文字列を返すメソッド追加するのと何が違うので?
2010/07/25(日) 16:02:23
意味的にはそういうことですが
Parametersがコマンドを返してしまうとクラス名との整合性が取れないような気がしたので・・・
2010/07/25(日) 18:32:19
それはきっと気のせいです
2010/07/26(月) 09:59:29
木の精です
216デフォルトの名無しさん
垢版 |
2010/07/26(月) 13:22:58
森の(ry
2010/07/29(木) 13:55:15
女子トイレの性です
218デフォルトの名無しさん
垢版 |
2010/08/22(日) 20:22:02
よくわからないですがどうすれば良いでしょうか?
2010/08/22(日) 21:56:44
今すぐ抜いてください
2010/08/22(日) 23:54:41
抜きました。
あとはどうすればいいですか?
2010/08/23(月) 07:14:05
他の人の質問に答えてあげてください
222デフォルトの名無しさん
垢版 |
2010/08/23(月) 18:17:18
このスレはエスパーしか答える権利が無いかと思いますが、
抜いたらエスパーになったのでしょうか?
2010/08/23(月) 23:07:26
賢者になります
224デフォルトの名無しさん
垢版 |
2010/08/27(金) 22:54:45
賢者になりました。レベル上げがきついです。どの呪文まで覚えれば良いでしょうか?
2010/08/28(土) 16:41:33
ティルトウェイトまでです
226デフォルトの名無しさん
垢版 |
2010/09/04(土) 19:10:32
賢者どころか遊び人しかいねぇ
227デフォルトの名無しさん
垢版 |
2010/09/05(日) 09:53:26
レベル90になりましたがティルトウェイトを覚えません。
思い切って遊び人に転職しようと思います。
メリット・デメリットを教えてください。
2010/09/05(日) 10:17:03
そのネタはもう飽きた
229デフォルトの名無しさん
垢版 |
2010/09/20(月) 22:13:51
ネタが思い付きません。エスパーさん、何かありませんか?
2010/09/20(月) 22:32:26
俺がテレパシーでネタを送ってやろう
2010/09/20(月) 23:45:16
int tableA = { 1, 2, 3 };
int tableB = { 4, 5, 6 };

関数funcの中で、
引数nが10以上ならtableAを、それ以外ならtableBを参照させたい場合、


int func(int n) {
int TABLE[3] = { 0 };

if(n>=10) {
*TABLE = &tableA; ★
} else {
*TABLE = &tableB; ★
}

return TABLE[1];
}

★の代入をどう修正すれば正しいか教えていただきたく。
2010/09/20(月) 23:55:16
>>231
return tableA[1];

return tableB[1];
だな。
2010/09/21(火) 00:27:48
>>232

231の例がまずかったです。

実際はreturn TABLE[1]; ではなく、
そこで、tableAまたはBの要素を使った走査(?)処理を行います。
tableAの要素も数字の羅列ではなく、IDのようなものを使います。

なので、
ifの分岐毎にtableA[]とtableB[]の処理を書いてしまうと冗長なので、
TABLEでどちらのtableを使うかを決めてしまってから、
TABLE[]を処理に使いたいんです。
234232
垢版 |
2010/09/21(火) 00:52:28
>>233
私のESP能力によると、ポインタがわからない以上、
if文で処理分けてコピペした方がいいと思うよ。
ポインタを理解せず使うと大けがするよ。
2010/09/21(火) 03:25:22
>>233
冗長なのが嫌と言うならちょっと邪道臭いけど

int func(int n){

int* tableList[] = {
tableA,
tableB,
} ;

int* TABLE = tableList[(n<10)] ;

return TABLE[1] ;
}
2010/09/21(火) 06:54:29
>>235

ありがとうございます。それでやってみます。
2010/09/21(火) 07:34:51
質問です
http://codepad.org/SoL0o3uc
の27行目がわかりません
「error C2440: '=' : 'const GKTimeDuration' から 'int' に変換できません」と出ました
const_castを使うのかな?と思いましたがどうすればよいかわかりません

http://codepad.org/pYLWB08b
がGKClientProperty.hです

初心者なので質問の仕方もおかしいかもしれませんが
よろしくお願いします
238237
垢版 |
2010/09/21(火) 09:43:25
>>237
訂正させてください
http://codepad.org/udFwyJRh
の49行目以降でinitialTime、durationTime、serviceTimeを追加するには
どうしたらよいのでしょうか?

http://codepad.org/MsPqQDeL
がGKClientProperty.hで

http://codepad.org/bDXJDGxd
がGKTimeDuration.hです

CからC++への書換えをやっているのですが、
初心者で全くわからないので教えていただけたらありがたいです
よろしくお願いします
2010/09/21(火) 10:17:27
>>238
初心者で全くわからないのは当然なので、別に心配しなくとも良い。

> 49行目以降でinitialTime、durationTime、serviceTimeを追加するには
どうしたらよいのでしょうか?

ズバリ、C++を勉強して初心者で無くなれば良い。
2010/09/21(火) 10:26:51
>>239
見ていただけただけでもありがたいです
参考書を読んでみても全然わからなくて
どの部分を勉強したらよいでしょうか?
それだけでも教えていただけないでしょうか?
2010/09/21(火) 12:38:57
>>240
アルゴリズム系のクラスで、setData とかやっているけど、
その本来実行する目的のメソッド自体をLogVRPDataに持っていけば
setDataしなくて済むだろうとか、
time.h や math.h は ctime や cmath になるとか、
calloc は C++ では基本的に使わないとか、
dynamic_cast もきっとしなくて済む方法があるんだろうとか。

クラス作成の基本と経験がないと、CからC++への変換は無理だろう。
2010/09/21(火) 12:49:36
>>237
GKTimeDurationに定義されてる
toMilliseconds()
toSeconds()
toMinutes()
toHours()
toDays()
のどれか好きなのを使えばいいんじゃね
243237
垢版 |
2010/09/21(火) 22:20:49
>>241
詳しいご指摘ありがとうございます
LogVRPData等は使うソフトに組込まれているもので、
変えられないんです
やはりクラスの部分を勉強しなおします

>>242
お答えいただきありがとうございます
やってみます
244デフォルトの名無しさん
垢版 |
2010/10/18(月) 19:58:58
エスパー・エムパー・エルパー・エルエルパー
2010/10/19(火) 00:23:35
ドエスパーって強そうだね。
2010/12/16(木) 19:54:55
・マウスで絵を描く
・BMP画像を表示する
・表示した画像からマウスで描いた物だけ抽出する
上記二つは何とかできましたが、三つ目のやり方が良く分かりません。よろしければアドバイス下さい。
使用環境はVC++6.0です。
2010/12/16(木) 21:06:19
>>246
それが1つのソフトなら、経歴のレイヤ管理すれば簡単。
2010/12/17(金) 08:22:11
レイヤ管理とはどのようにするのでしょうか?
2010/12/17(金) 15:11:45
>・マウスで絵を描く
これをとって置くってことだよ
マウスで描いた物と別のものを混ぜた後に、混ぜた結果だけから分離するなんて基本不可能だよ
「マウスで描いた物」「別のもの」「混ぜ方」に制約つけていいならできるけど
250246
垢版 |
2010/12/17(金) 18:51:37
>>249
ありがとうございます。やってみます。
2010/12/22(水) 18:41:34
2画像を読み込んでその差分のみを表示するプログラムを教えて下さい
2010/12/22(水) 18:51:28
マスクするだけじゃないの?
253251
垢版 |
2010/12/22(水) 19:00:51
出来れば参考にできるソースを下さい
2010/12/23(木) 01:47:02
>>253 http://code.google.com/p/tortoisesvn/source/browse/trunk/src/TortoiseIDiff
255251
垢版 |
2010/12/23(木) 17:36:56
>>253
すみません、これのどこを参照すれば良いのでしょう?全部DLしようとしましたが、途中でDLできないのもありました。
256251
垢版 |
2010/12/23(木) 17:37:55
訂正×>>253 ○>>254
2010/12/23(木) 17:50:01
これはレベル高いな
2010/12/23(木) 19:38:57
ここにTortoiseSVNのMercurialのミラーがあるよ
https://bitbucket.org/sborho/tsvn
259デフォルトの名無しさん
垢版 |
2011/01/02(日) 22:40:45
エスパーイトウのバタークッキー
2011/01/03(月) 02:13:36
宮里藍のパタークッキー
261デフォルトの名無しさん
垢版 |
2011/01/03(月) 02:24:55
すいません質問です!

プログラムの先頭に以下のように変数が定義されていました。
int dm[40000];
使われていない変数だったのでコメントアウトしたところ、プログラムが正常に動かなくなりました。
これにはどんな意味があるのでしょうか?
プログラマーに転職したばかりで分からないことだらけです><
すいませんお願いします。

このプログラムを作った本人に聞いたところ、お前のような素人には理解できないと言われて教えてくれませんでした。
入社時に会社のNo1プログラマーらしく日本でもトップクラスの人だと聞いていたので素人相手はめんどうなのは分かるのですが・・・
2011/01/03(月) 06:33:04
>>261
そのプログラムには明らかなメモリアクセスエラーがある。
ポインタ演算の失敗か何かでアクセスエラーになるところを、dm に割り当てられた
領域が丁度クッションになる事でうまく動いているように見えているだけだろう。

本当に優れたプログラマだったら、素人相手でもこれぐらいの説明は出来るだろう。
2011/01/03(月) 07:41:26
おれネタにマジレスになるから言わなかった
2011/01/09(日) 21:07:05
C++相談室から誘導されました

APIのラッパークラス作りたいんですけど、どうしたらいいですか?

MFCを参考にすればいいですか?
2011/01/09(日) 21:15:04
はい
2011/01/09(日) 21:16:01
まずSetWindowLongPtrにthisポインタを渡します
2011/01/09(日) 21:49:47
MFCもいいけど今なら.Netを参考にしても面白いと思います
2011/01/09(日) 23:51:12
>>264
君がMFCだけを参考にしてAPIのラッパークラスを作成している未来が見えるぞ!!!
2011/01/11(火) 19:33:12
gdiplus.hの中身を教えて下さい
2011/01/12(水) 00:28:15
>>269
???
2011/01/13(木) 12:22:23
Apacheの画面?だと思うんですが
Index of 〜
Name Last modified Size Description
Parent Directory
ファイル
ファイル
・・・

こんな感じのWebページが表示されることがありますよね
あるサイトにあるこういう感じのページの
ソースコードをダウンロードしたいんですが
1個ずつクリックとかでダウンロードするんじゃなくて
まとめてダウンロードする方法ってありますか?
2011/01/13(木) 12:54:15
ページのリンクを全部ダウンロードしてくれるダウンロードツールがあったと思う
探してみれ
それとも自分で作りたいという意味か
2011/01/13(木) 13:04:35
ツールがあれば良くて
機能を自作したいというわけではないです
フォルダ構造をそのままダウンロードしたいんですが
リンクのダウンロードだと、フォルダが作られないですよね?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況