C言語なら、俺に聞け! <18>
■ このスレッドは過去ログ倉庫に格納されています
0001きょうはいいテンキーです。日下部陽一
NGNGいろいろな言語を極めたが、一番手になじむのはCだった。
Cのことならぜんてわかるから、疑問な点があったら漏れに聞け。
だが、いちいちFAQに載った質問に応えるほど暇じゃない。
課題丸投げなら別スレにいけ。
・comp.lang.c Frequently Asked Questions
http://www.eskimo.com/~scs/C-faq/top.html
・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマならこれを買っとけ。
・プログラミング言語C(K&Rと呼べば通だ)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/yfcbookshelf-22/250-3950205-1475419
K&Rで挫折するような救いがたいやつはこれでも読め
・作ってわかるCプログラミング(アヒル本と呼べば通だ)
http://dennou.gihyo.co.jp/books/void_c/
http://www.amazon.co.jp/exec/obidos/ASIN/477411328X/249-4698746-2014711
推薦図書/必読書のためのスレッド PART3
http://pc.2ch.net/test/read.cgi/tech/1016722820/
・前スレ C言語なら、俺に聞け! <17>
http://pc.2ch.net/test/read.cgi/tech/1019372139/l50
0002デフォルトの名無しさん
NGNGよくやった。お疲れさま。
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG770番ほど早い
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG引きちぎるぞ
00119
NGNG0012デフォルトの名無しさん
NGNGパパ怒っちゃうぞ
0013999
NGNG∧||∧
( ⌒ ヽ
∪ ノ
∪∪
0014前スレの1&1000
NGNGいってよし!
0015デフォルトの名無しさん
NGNGもう逝ってる!
0016899
NGNG0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019899
NGNGなぜなんですか。
0020899
NGNG0021デフォルトの名無しさん
NGNGもう知らない(笑)
(ダウンロード状態になるのはヘッダーが適切でないから)
0022デフォルトの名無しさん
NGNGって感じか?
0023デフォルトの名無しさん
NGNG2. 127.0.0.1 or localhost からアクセスしてない
のどちらか(両方?)と見た
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGというのがあって、
DELETE_TEXT(TEXT, 1)
とやるとTEXTがABCに置き換わるようなマクロは作れるでしょうか。
0026899
NGNGごめんなさい。AN httpdの.exeを編集の”一般パスでも実行する”をチェックしたら、出来ました。
0027デフォルトの名無しさん
NGNGできてるじゃん。それで不満か?
0028デフォルトの名無しさん
NGNG言ってる意味が分からん
もう少し分かりやすく説明しなはれ
0029デフォルトの名無しさん
NGNG出来てない
003025
NGNG0031デフォルトの名無しさん
NGNG出来てるだろ?
DELETE_TEXT(TEXT, 1) -> DELETE_TEXT(ABCD, 1)
になるじゃん。
まさか、
DELETE_TEXT(TEXT, 1) -> DELETE_ABCD(ABCD, 1)
とでもしたいのか?
003225
NGNG部分的な削除です。
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGううん?
具体例を示して
0036デフォルトの名無しさん
NGNGDELETE_TEXT( ABCD, 1 )
とすると
ACD
と指定したのと同じくなるようなマクロ
DELETE_TEXTを作りたいって事でしょ。
0038デフォルトの名無しさん
NGNG#define TEXT ABCD
#define ABCD ABC
003938
NGNG0040デフォルトの名無しさん
NGNGうーん、あやしいなぁ。
トークンを削除して、最終的に何がしたいのか教えてくれ。
004138
NGNG0042デフォルトの名無しさん
NGNGやっと分かった!!
DELETE_TEXT(TEXT, 1)
はTEXTをマクロ展開してから後ろから一文字削除ってことか
無茶言うぜ。
0043デフォルトの名無しさん
NGNG#define DELETE_TEXT(str, n) (str[strlen(str)-(n)] = '\0')
とか?
0044デフォルトの名無しさん
NGNGカコイイなぁそれ。オレにも使わせて。
・・・無茶言うぜ。
004525
NGNG昼間に、これできたら便利だなーって思ったんですが。
ちょっと昼間書いたソース見ながら思い出してみます。
0046デフォルトの名無しさん
NGNGそれなら、
DELETE_TEXT( ABCD, 1 )
で1文字削るって分かってるんだから、ABC でええやん
てなわけで、本当は何をしたいんだ?
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG>>43の言うように文字列リテラルじゃなくて文字配列なんだろうな。
実行してみるまで何が入るかわからないってことで。
もっとも、文字リテラルに対してやったりしたら・・・・
0049デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1019372139/914
ようは、これって
sscanf(buf, "%" TOSTR(LEN) "s", buf2);
が
sscanf(buf, "%#32s", buf2);
に、マクロによって置き換わるんだと思うんですが、
書式指定の#32の意味がわかりません。
VC++付属のMSDNを見てみたんだけど、、、、
#「scanf 系関数の書式指定フィールド」ていうやつ
いま手元に本とかないんですが、
どっかホームページで解説してるようなところ無いでしょうか?
005025
NGNG#define REFLECTION EBX+0x100
#define REFRACTION EBX+0x104
:
のような定義がたくさんあります。全てEBX+オフセットという形です。
EBXをオフセットといっしょに定義しているのは、
FMUL DWord ptr [EBX+REFLECTION] より、
FMUL DWord ptr [RELFECTION] と、書きたかったからです。
C++でも時々定義された値を使用します。
*(float *)(Buffer + REFLECTION) = 1.0;
しかし↑は定義内の「EBX+」が邪魔で当然コンパイルはできません。
そのために、
#define DELETE_TEXT(x, n) ・・・ //←これの作り方が分からない
#define DEL_REG(x) DELETE_TEXT(x, 4) //EBX+を削除するマクロ
を作って、
*(float *)(Buffer + DEL_REG(REFLECTION)) = 1.0;
と、したいのです。
■ このスレッドは過去ログ倉庫に格納されています