- 1 名前:デフォルトの名無しさん [2008/02/20(水) 12:33:41 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.48【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1202141921/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 817 名前:デフォルトの名無しさん [2008/02/26(火) 18:22:32 ]
- ifstream::readって実際に何バイト読めたか検出できないんですか?
freadみたいにふつうに戻り値が来るのかと思いきや違うみたいですし…。
- 818 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:28:13 ]
- つ gcount
- 819 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:29:13 ]
- >>817
自己レス。failで少なくとも期待通りの バイト数読めたかどうかは取得できるのね。
- 820 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:30:30 ]
- >>818 と思ったらそんなメソッドがあったか。サンクス
- 821 名前:デフォルトの名無しさん [2008/02/26(火) 18:31:39 ]
- fstreamは重要なところでは使うべきではない
APIのほうがよい
- 822 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:55:55 ]
- んなこたーない
- 823 名前:デフォルトの名無しさん [2008/02/26(火) 19:18:08 ]
- fstreamは一社の開発ではないがAPIはMS一社
どのコンパイラでも同じ動作になる あと3000個とか開けない
- 824 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:18:50 ]
- if文って 文字列と文字列を比べることって出来ないですよね?
1 = あいうえお 2 = かきくけこ 3 = さしすせそ 4 = あいうえお if (a = 1){ } みたいなことをやりたいのですがどうしたら良いでしょうか?
- 825 名前:デフォルトの名無しさん [2008/02/26(火) 19:19:44 ]
- stringはできる
- 826 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:20:33 ]
- > どのコンパイラでも同じ動作になる
コンパイラで差はないかもしれないが・・・
- 827 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:21:41 ]
- >>823
んなばかな APIがMS一社で規定されてるなんて初めて知った MSはついに世界を征服したのか
- 828 名前:デフォルトの名無しさん [2008/02/26(火) 19:23:04 ]
- Windowsのファイル入出力APIのことを指す
- 829 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:55:08 ]
- >>824 strcmpしとけ
- 830 名前:デフォルトの名無しさん [2008/02/26(火) 21:19:23 ]
- CreateProcessしたときに止まらなくなったら停止させたいんですけど
どうやったらいいですか?
- 831 名前:デフォルトの名無しさん [2008/02/26(火) 21:22:25 ]
- ググって解決しました
- 832 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 21:58:13 ]
- マルチスレッドで動かしてる関数って_endthread()書かなくてもreturn;書いてたら
問題ない?
- 833 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:04:41 ]
- 問題ない。
ところで_beginthreadは使うなよ。_beginthreadexにしろよ。 msdn2.microsoft.com/ja-jp/library/kdzttdcb(VS.80).aspx
- 834 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:15:49 ]
- VC6.0です。
__declspec(dllimport) int __stdcall hoge( LPWORD, LPWORD, LPWORD ); という形の関数のアドレスが入る関数ポインタhageを作りたいのですが、 うまく宣言できません。 __declspec(dllimport) int __stdcall (*hage)(LPWORD, LPWORD, LPWORD ); などとやるとコンパイルエラーになってしまいます。 どうすれば宣言できるのでしょうか?
- 835 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:17:26 ]
- declspecは関係ないだろ
- 836 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:19:03 ]
- 関係あるよ
- 837 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:19:32 ]
- 関数ポインタで悩んだら、typedef
typedef __declspec(dllimport) int __stdcall hogetype( LPWORD, LPWORD, LPWORD ); hogetype hoge;
- 838 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:36:15 ]
- 関数ポインタの便利さになれすぎてしまって
最近 if を見るたびにすぐ関数テーブル化してしまう。 間違い?
- 839 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:39:07 ]
- なるべくシンプルにかくのを推奨されますからね
- 840 名前:デフォルトの名無しさん [2008/02/26(火) 22:43:09 ]
- 関数テーブル間違いです
鈍いです
- 841 名前:デフォルトの名無しさん [2008/02/26(火) 22:47:58 ]
- なんかCreateProcessすると不安定になる スレッドでsystemで実行してみる
CreateProcessを短期間に20回以上使うと動かなくなるエラーってありますか? 実行する側のexeのせいかもしれないですが
- 842 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:50:02 ]
- テーブルだめなのか・・
if の中にさらに if があるともうその地点でうわ・・って思ってしまう。 ちょっとソース見直してみます
- 843 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:50:41 ]
- >>833
ありがとう。今度からそうする
- 844 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:54:19 ]
- そこでBoost::functionとコールバックですよ。
- 845 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:59:28 ]
- >>842
無理して避けることもないよ。何事も程々が1番。
- 846 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:02:18 ]
- グローバル変数って絶対使わない方がいいんですかねえ
例えばゲームプログラムを作っていて、状態を管理するグローバル変数を使っているとする。 その変数には、ゲームの進行に合わせて、例えば 定数(TITLE=0, STAGE1, STAGE2, STAGE3, STAGE_CLEAR, GAME_OVER, ENDING)が入るとする。 処理は上の状態それぞれでモジュール化されているとすると、 どうしても状態管理変数はグローバル変数化してどの状態からでも 参照・設定できるようにせざるを得ないと思うのですが、何かいい手があるのでしょうか。 状態管理変数をファイル内static変数にしてセッターを使って書き換えるようにしたり、 状態管理変数とセッターをクラスにしてそのオブジェクトのスコープをグローバルにするもしくは状態管理変数とセッターを staticにしてどのクラスからでも書き換えられるようにするくらいなら最初から状態管理変数をグローバルにしといた方が シンプルだと思うのですがどうでしょうか。
- 847 名前:デフォルトの名無しさん [2008/02/26(火) 23:03:57 ]
- 数が多くなければOK、重要ならOK
- 848 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:05:38 ]
- >>846
静的なシングルトンもグローバル変数も似たようなもんだ グローバル変数でいいんじゃね? ただ、関数経由にしておけばデバッグするときに setter で引っ掛ければいいだけだから ずいぶんと楽になる*かもしれない*
- 849 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:30:59 ]
- >>846
シングルタスクなら良いけど。 GUIでスレッド使って随時処理しながら入力待ちして、 入力はコールバックで処理、みたいのだと、 ゲッタやセッタ作った方が排他処理し易いかなぁ。 まぁケースバイケース?
- 850 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:32:07 ]
- ゲーム状態のインスタンスが1つだけなら、グローバル変数でいいと思う。
インスタンスが複数なら、 状態ごとの処理に、状態管理変数をクラス化したものを渡すとか、 もしくはstateパターンなんてのもいいかもしれない。
- 851 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:33:35 ]
- どうせグローバル変数的に使うとはいえ、
それゆえにどこから変更されてるかを追跡するためにも >関数経由にしておけばデバッグするときに setter で引っ掛ければいいだけだから というのは地味に大事
- 852 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:38:31 ]
- ゲーム状態も例えば、プレイヤキャラの他にAIキャラが裏で進行中なんてことになると、
グローバルだと破綻するよね。そんな場合はゲーム状態はキャラクタに依存する情報になるわけだけど。
- 853 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:46:14 ]
- シングルトンとグローバル変数は違う。
グローバル変数として使ってる間違ってる例が多いのが勘違いの原因かもしれない。 自分だったら>>846の場合、シーンマネージャクラスを作ってそいつに振る舞いを管理させる。 極力グローバル変数は使わない。
- 854 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:01:10 ]
- シングルトンは初期化のタイミングを選べるからグローバルとは大きく違う。
- 855 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:20:00 ]
- 結局オブジェクト指向の導入でCにおけるグローバル変数使用の問題は解決できてないんじゃねえの
Cを極めればオブジェクト指向言語を使わなくても良いコードが書けるんじゃねえの結局クラスとか オブジェクトとかデザインパターンとか複雑で分かりにくくするなだけじゃね
- 856 名前:デフォルトの名無しさん [2008/02/27(水) 00:21:36 ]
- system は空白が改行のように扱われてしまいます
パラメータは渡せませんか?
- 857 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:22:49 ]
- >>855
んなこたーない
- 858 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:26:23 ]
- ファイルの読み込みについての質問です。
---- 2008/02/20,01:00:00 2008/02/21,02:00:00 2008/02/26,03:00:00 … ---- と書かれたファイルを、 tmp[0] = 2008; tmp[1] = 2; tmp[2] = 20; tmp[3] = 01; といったように取り込みたいです。 スラッシュとカンマとコロンを区切りにしてうまく取り込む方法を教えてください。 もし、スラッシュしかなければstrtokとatoiでできたのですが、3種類あるので困っています。 よろしくお願いします。
- 859 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:28:04 ]
- >>856
どんな文字列を渡したとき?
- 860 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:28:08 ]
- 見た感じフォーマットは固まってるだろうから
単純に先頭からパースするだけじゃね
- 861 名前:デフォルトの名無しさん [2008/02/27(水) 00:29:09 ]
- string s;
s.substr(0,4); s.substr(5,2); s.substr(7,2); とかでいいのでは?
- 862 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:31:49 ]
- >>858
fscanf(fp, "%d/%d/%d,%d:*[^\n]", &tmp[0], &tmp[1], &tmp[2], &tmp[3]);
- 863 名前:デフォルトの名無しさん [2008/02/27(水) 00:31:50 ]
- >>859
自己解決しました 同名のexeがありそれが動いていたようです
- 864 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:34:11 ]
- 862の訂正 *の前に%
fscanf(fp, "%d/%d/%d,%d:%*[^\n]", &tmp[0], &tmp[1], &tmp[2], &tmp[3]);
- 865 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:34:23 ]
- >>855
>Cを極めればオブジェクト指向言語を使わなくても良いコードが書けるんじゃねえの これは当たり前なんだが、(といってもオブジェクト指向を使わないって意味じゃない、 Cでもオブジェクト指向は昔から存在する) >結局クラスとかオブジェクトとかデザインパターンとか複雑で分かりにくくするなだけじゃね 何が複雑なんだ? デザインパターンなんか当たり前の設計パターンに名前付けただけじゃないか。
- 866 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 00:36:27 ]
- 変数へのアクセスを制限することで単純になるんだけどなぁ。
無制限に変数にアクセスできたほうが複雑だって、わかんないかなぁ。
- 867 名前:デフォルトの名無しさん [2008/02/27(水) 00:48:26 ]
- Perlの文法が糞なのは間違いない。
- 868 名前:858 mailto:sage [2008/02/27(水) 01:12:38 ]
- >861
レスありがとうございます。 が、、私ではうまいこと使えませんでした。ごめんなさい。。 >860, 864 fscanfでできました。 どうもありがとうございました。
- 869 名前:デフォルトの名無しさん [2008/02/27(水) 01:23:50 ]
- C++で配列のコピーってどうやりますか?
for()文で代入を回す?
- 870 名前:デフォルトの名無しさん [2008/02/27(水) 01:24:40 ]
- memcpyが最速では
- 871 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:26:15 ]
- >866
何を以て「単純」とするかに依るんだろうな。 多分 >855 は言語の構造として単純であること、習得の容易さなどを見て言っているんだろうが 大きなコードを、そのまま扱うと中身はかなり複雑化する。 クラスや名前空間などを使って、大きなコードを小さな部品の集合体として考えて それぞれの部品単位で扱うことで、ひとつひとつの部分は単純になる。
- 872 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:26:28 ]
- >>869 std::copy()
- 873 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:27:43 ]
- >>870 C++ で memcpy() は使わない。禿との約束だよ。
- 874 名前:デフォルトの名無しさん [2008/02/27(水) 01:30:02 ]
- 推奨されていなくても確保の仕方から
vectorでもstringで有効でしょう memcpy
- 875 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:31:12 ]
- memcpyより自分でアセンブラ書いた方がはやかったんだけど、そんなもん?
- 876 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:31:59 ]
- >>875 それはめずらしい。
- 877 名前:デフォルトの名無しさん [2008/02/27(水) 01:39:54 ]
- memcpyより早いコードくれ
- 878 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:40:26 ]
- SSE使ったんだけどね
- 879 名前:デフォルトの名無しさん [2008/02/27(水) 02:17:49 ]
- マイクロソフトのCHMファイルはなかなかいいんだけど
SJISしかコンパイルできなくて、サイズが20Mとかになるとコンパイルに失敗する CHMをパクってWindowsの標準ヘルプ形式を作りたい 参加者募集中 圧縮接尾辞配列がいいと思う ブロックーソーティングしたデータはそのまま全文検索できるとおもうがどうか?
- 880 名前:デフォルトの名無しさん [2008/02/27(水) 02:27:20 ]
- 複数のテキスト文書を圧縮できてかつ高速に全文検索できて
CHMのような普及率を目指したい デスクトップサーチとは目的が違う 元のファイルが復元できてまとめられる点が大事
- 881 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:28:28 ]
- tarでいいじゃない
- 882 名前:デフォルトの名無しさん [2008/02/27(水) 02:33:30 ]
- tarは全文検索できるように設計されてるの?
- 883 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:38:51 ]
- tarは圧縮しないからね。
- 884 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:40:51 ]
- >>875
アラインメントに縛りを入れれば早くはできると思う
- 885 名前:デフォルトの名無しさん [2008/02/27(水) 02:46:44 ]
- 半分にはならないとだめだな chmは全文検索できて元の半分になるよ
- 886 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:51:09 ]
- >>880
専ブラのログをまとめるのに便利そうだ あてにせず期待してるよ
- 887 名前:デフォルトの名無しさん [2008/02/27(水) 03:29:32 ]
- badc$の巡回データは
adc$b dc$ba c$bad $badc ソートすると $badc adc$b badc$ c$bad dc$ba ブロックソートではcb$daというデータのみが与えられる 復元しようとするとここまでは直ぐわかる $***c a***b b***$ c***d d***a c$、ba、、$b、dc、adと繋がっていることがわかる たとえばdcというデータは何番目に出現するか求めるとすると末尾のcから調べていけば良さそうだが
- 888 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 03:41:52 ]
- std::string
のような STL クラスを前方宣言するにはどうしたらいいですか? それともこういうクラスって前方宣言しないでヘッダーに直接 include させても問題ないですか?
- 889 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:17:01 ]
- Visual C++ Express Edition を入手したので、簡単なプログラムを作ってみようと思ったのですが、
なぜかコンパイルできません。 コマンドラインで、 cl c:\source.cpp としても、 'cout' : 定義されていない識別子です。 'endl' : 定義されていない識別子です。 等とエラーが返ってきます。 ちなみに、ソースは以下のようなものです。 #include <iostream> int main(void) { cout << "Hellow, World!" << endl; return 0; } なぜエラーになるのか分かりません。お暇な方いましたら、どうかお知恵をお貸しください。
- 890 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:20:39 ]
- ×cout << "Hellow, World!" << endl;
○std::cout << "Hello World!" << std::endl;
- 891 名前:デフォルトの名無しさん [2008/02/27(水) 04:21:19 ]
- あんたが外国にいるんじゃなかったら、本を買って勉強しる。
とりあえず、 std::cout << "Hellow, World!" << std::endl; としてやってみ。 もしくは、 using namespace std: をinclude 文の下に書いておくとか。 まあがんばれ。
- 892 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:24:33 ]
- >>890
ありがとうございます。 using namespace std; を追加したらコンパイルできました・・・ ^ ^; 最初、#include <iostream.h> としていて、コンパイル時にそんなファイルは無いと言われ、 #include <iostream> に直したら今度は cout が定義されて無いと言われ・・・ 完全に勉強不足ですね・・・・
- 893 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:48:08 ]
- >892
環境によっては #include <iostream.h> と書くと、using namespace std; を勝手にやってくれるんだわ。 多分、そういう環境を前提にしたコードだったんだろう。
- 894 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 08:20:07 ]
- ついでに勉強不足の俺に教えてください
#include <string.h> #include <stdio.h> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string a = "0908a89"; printf("%s\n", a); getchar(); return 0; } aに0908a89が代入されて無いみたいなのですが、何処がまずいのでしょうか?
- 895 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 08:37:47 ]
- いろいろまずい。
というか、それVCならコンパイルとおるの?gcc 2.96だと少なくとも通らない。 ・string.hってCの奴じゃないかな。#include <string>と書くべし ・その場合aってのはstring型なので、printfに%sで受けるのはよろしくない。 書くならprintf("%s\n",a.c_str()); ・でも、せっかく#include <iostream>してるんだから cout << a << endl;でいいじゃん。 ・ところで最後のgetcharは何のために? 以上直すと、こっちでは代入されるよ。
- 896 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 09:02:30 ]
- >>895
ありがとー 出来ました。 コンパイルは出来てましたがNULLが表示されました。 getchar();しないと画面が速攻閉じてしまうので、画面確認用にです。
- 897 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 09:06:36 ]
- >>896
修正したソースを張ってみないと有効な回答は得られないと思うよ。
- 898 名前:デフォルトの名無しさん [2008/02/27(水) 09:09:57 ]
- int* random_array(int n);
shared_ptr<int> p(random_array(100)); というように書けないのですが、shared_ptrの作成時って、必ずnew[100]とかって やらないとだめなのですか?
- 899 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 09:30:04 ]
- >>898
arrayの共有にはshared_arrayな。 それとエラーメッセージ書かないとエスパーしか解答できない。
- 900 名前:デフォルトの名無しさん [2008/02/27(水) 11:36:18 ]
- system("path %PATH%; C:\\hofe;");
が有効になりません・・・ なぜでしょう
- 901 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:59:17 ]
- >>900
環境変数はプロセスごとに別々だから 子プロセスを起動してPATHを設定させても自プロセスには影響しない
- 902 名前:デフォルトの名無しさん [2008/02/27(水) 12:07:43 ]
- 改行しても無理でした パスを直うちするか、そこへ移動するしかないですか?
APIでPath設定できるか調べてみます system("path C:\\hofe; \n abc.exe");
- 903 名前:デフォルトの名無しさん [2008/02/27(水) 12:20:15 ]
- pathを追加する方法教えてください わかりませんでした
- 904 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:24:10 ]
- SetEnvironmentVariable
- 905 名前:デフォルトの名無しさん [2008/02/27(水) 12:30:25 ]
- サンクス
長い実行パスと、長いパラメータパスで困ってました これで解決しそうです
- 906 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:29:07 ]
- #include "stdafx.h"
#include <string> #include <stdio.h> #include <iostream> using namespace std; 略) string x; sprintf(x, "%02x%02x%02x%02x%02x\n", buf[0], buf[1], buf[2], buf[3], buf[4]); これで、buf[0], buf[1], buf[2], buf[3], buf[4]の値をstring型 でx代入したいんですけど xが定義されていないと怒られてしまいます。どうしたら良いのでしょうか?
- 907 名前:デフォルトの名無しさん [2008/02/27(水) 13:39:20 ]
- string x(11,'\0');
sprintf(&x[0], "%02x%02x%02x%02x%02x\n", buf[0], buf[1], buf[2], buf[3], buf[4]); これは無理?
- 908 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:51:44 ]
- >>907
テラThanks
- 909 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:57:03 ]
- まず間違いなく大丈夫ではあるものの一応標準外の仕様だと心にとどめておくといい
- 910 名前:デフォルトの名無しさん [2008/02/27(水) 14:02:11 ]
- winsockを使うときエコーバックするのは普通ですか?
それとも負荷を下げるためにしませんか? 少量ずつデータ受け取ればミスしにくくなると思うんですけど 少しずつ受け取って確認無しでいいですか
- 911 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:02:13 ]
- 次の改訂で標準になるけど、コンパイラの対応が普及するまで合わせると、
問題ないと言えるのは何年も先かなぁ。
- 912 名前:デフォルトの名無しさん [2008/02/27(水) 14:09:00 ]
- http先のファイルのサイズやcrcを取得する方法教えてください
それみてデータが正常が判定したいです
- 913 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:23:32 ]
- >>910
何をどこにエコーバックするんだ ミスって何のだ >>912 ファイルサイズは全部受信すればわかるだろう CRCの計算方法はこれ↓ en.wikipedia.org/wiki/Computation_of_CRC
- 914 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:40:20 ]
- >>912
サイズはレスポンスヘッダのContent-Length (ない場合もある) CRC は無理かと
- 915 名前:907 mailto:sage [2008/02/27(水) 14:46:39 ]
- もう一つ教えて下さい。
char str[100]; sprintf(str, "%02x%02x%02x%02x%02x\n", buf[0], buf[1], buf[2], buf[3], buf[4]); char str0[100]; char str1[] = "01061719d0"; char str2[] = "0106171f34"; if (strcmp(str, str1) == 0){ printf("この番号は登録されています@\n番号%s\n",str); } else if (strcmp(str, str2) == 0){ printf("この番号は登録されていますA\n番号%s\n",str); } else { printf("この番号は登録されていません\n番号%s\n",str); } このようなif文にしたいのですが、登録したbuf[]を読み込んでも"この番号は登録されていません" と表示されてしまいます。なぜでしょうか?
- 916 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:53:34 ]
- std::vectorとCStringでは、empty() (とEmpty()) の意味違うのね〜
しばらく騙されてました。
- 917 名前:デフォルトの名無しさん [2008/02/27(水) 14:54:36 ]
- stlのset使った方がいいんじゃない
|

|