C言語なら、俺に聞け! <18>
レス数が1000を超えています。これ以上書き込みはできません。
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;
と、したいのです。
005125
NGNGEBXが邪魔なときは#defineと#undefでEBXを消したり、
元々定義にEBXを入れないとか(今はそうしてます)、
方法はありますが、マクロでトークンの削除ができたら、
インラインアセンブラでは
FMUL DWord ptr [RELFECTION]
と書けて、C++では、
*(float *)(Buffer + DEL_REG(REFLECTION)) = 1.0;
と書くだけですむようになるので、
便利だなーと昼間思ったわけです。
激しく眠いので
ワケワカな文章になってるかも・・・
0052デフォルトの名無しさん
NGNG>FMUL DWord ptr [RELFECTION] と、書きたかったからです。
そう書きたくなくても、そう書くべきなので
あまり(かなり)勧められないが
#define DEL_REG(s) DEL_REG_(s) // ※1
#define REFLECTION EBX + 0x100 // EBXの後に必ずスペース
#define REFRACTION EBX + 0x104
:
#define DEL_REG_(s) (DEL_##s) // ※2
#define DEL_EBX 0
マクロの本来の優先順位は知ら(興味)ないが、
※1・2のように、2重にしてやらないと、
某コンパイラでは通らなかったので、まだ他のでは
「DEL_***が未定義」と言われる可能性あり
と言うか、本来こんな使い方をするべきではない
0053デフォルトの名無しさん
NGNG> ようは、これって
> sscanf(buf, "%" TOSTR(LEN) "s", buf2);
> が
> sscanf(buf, "%#32s", buf2);
> に、マクロによって置き換わる
ちゃうよ。sscanf(buf, "%32s", buf2) に置き換えたかったんだが、# 演算子
は、それ以上マクロ展開しないから "%LENs" になってしまう。(前スレ >>937)
プリプロセサの # 演算子を勉強するべし。
なお、このケースではコンパイル時に "%32s" を生成することはできないみた
い。素直に実行時に作成するか、fgets() 等を使うべし。
>>50
そもそも...
> #define REFLECTION EBX+0x100
から、おかしいのではないのか ? アセンブラから構造体へのアクセス方法を
勉強した方がいいと思う。
0054デフォルトの名無しさん
NGNG#define LEN 32
#define TOKEN_TO_STR(x) #x
#define TOSTR(x) TOKEN_TO_STR(x)
sscanf(buf, "%" TOSTR(LEN) "s", buf2);
とすれば
sscanf(buf, "%" "32" "s", buf2);
すなわち
sscanf(buf, "%32s", buf2);
になる。基本。
0055デフォルトの名無しさん
NGNG>そもそも...
>> #define REFLECTION EBX+0x100
>から、おかしいのではないのか ?
まったくだ。
どうしてもそうやるなら、
#define DEL_REG_REFLECTION 0x100
#define DEL_REG_REFRACTION 0x104
#define REFLECTION EBX+DEL_REG_REFLECTION
#define REFRACTION EBX+DEL_REG_REFRACTION
としたら? 馬鹿さが際立ってよい。
005725
NGNG自分でも忘れていたくらいお粗末なものですから
目的はともかくとして、
マクロでトークンの部分的な削除はできるのか?
という単純な疑問として捕らえてください。
といっても、これまでのレスを見る限り、
やっぱり無理そうですね・・・。
>>53 インラインアセンブラで構造体を使う方法は分かるのですが、
なぜか私の前には、オフセットだけの定義が2000もあるヘッダと、
それらの型名を記した「紙」があります。
私にはその「紙」を見ながら構造体を作り、それを使うためにソースを直す気力はありません・・・。
0058デフォルトの名無しさん
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c_faq.html
もうちょっとましな日本語にならないの(w
0059超初心者
NGNGmain(){
double nc;
for(nc = 0; getchar() != EOF; ++nc)
;
printf("%.0f\n", nc);
}
K&R、23ページにあるやつなんだけど、実行すると終了できません。
何にも入力しないでEnter押せば終わるんじゃないんですか?
教えてください。
Windows98でVC++6.0をつかってます。
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGうにくす系なら Ctrl + ・・・・・
・・・・・
・・・・・
D?
だと思う
普通にenter押せば改行が残るでしょうなぁ
0062超初心者
NGNGいちおう終了はできました。
でも結果がでないんですけど。
何ででしょう?
0063デフォルトの名無しさん
NGNGそれはたぶん、結果が表示されると同時に実行窓が閉じてるんでしょう
MS-DOS プロンプト開いてコマンドラインから実行してみそ
0064超初心者
NGNGCtrl+Zを押すと、
Press any key to continue
と出てくるんですよ。これで何かキーを押すと窓が閉じます。
>>59のncの中身が表示されないんです。
MS-DOSプロンプトからの実行のやり方は知りません。
当該ディレクトリを開くくらいしかできないです。
006563
NGNG0067超初心者
NGNGとりあえずこれで良しとしときます。
ありがとうございました。
006863
NGNG試してみたら、>>64の言うとおりだった。
VC++(Win98?)固有の問題だと思う。
#include<stdio.h>
main(){
double nc;
printf("start\n");
for(nc = 0; getchar() != EOF; ++nc)
;
printf("Test\n"); /*この行追加、しかし表示されない*/
printf("%.0f\n",nc);
}
このようにすると、期待どおり動作するが、"Test"が表示されない。
これ以上は、わからんのでVC++に詳しい人の解説もとむ
0069
NGNG0070
NGNGbccでやったらちゃんと表示されたYO
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGしかしオフセットだけ2000個て(w
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGそれって何か関係あるの?
printf("Test\n");はstdinとは関係ないのに・・・
0075デフォルトの名無しさん
NGNGfflush(stdin)の動作は標準では未定義だよ。
0076デフォルトの名無しさん
NGNGVC++ は、「ストリームが入力用に開いている場合は、バッファの内容を
クリアします。」だよ。
0077デフォルトの名無しさん
NGNGなんじゃそりゃ〜?気持ち悪いよぅ。
007876
NGNGだよね〜〜〜。俺もそう思う。MS も、FlushXXX とか XXXFlush とかの
API や ライブラリいっぱい作ってるけど、出力系でないとサポートしない
ものと入力に適用すると入力バッファをクリアするものとあってまちま
ち。(でも、流石に入力に適用する奴は、クリアの動作以外はしないみた
い。そう言う意味では、それなりに統一は取れている。)
0079デフォルトの名無しさん
NGNG実はShade、に3マクロ
0080デフォルトの名無しさん
NGNG実はMAYAタン、に-3マグロ
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG使いたいときはどうしたらいいのでしょうか。。。
自作しかないですか?
0083デフォルトの名無しさん
NGNG>>82 場所間違ってない?
0084デフォルトの名無しさん
NGNG::なんて演算子はCにはないはずですよ?と言ってみるテスト。
0085初心者にもなってない
NGNG他のスレ見て「コンパイラっていうのが必要なのかな〜」って
判断しちゃったんですけどそれでいいんですかね。
よくわからないけど私が持っているプログラミングツールっぽいのは
VBってのとC++なんですけど友達が勝手にくれたものだから
これでC言語でプログラミングできるのかわかりません。
0086デフォルトの名無しさん
NGNGVBはわかるがC++って何よ?
0087デフォルトの名無しさん
NGNGVBはその友達に返すか捨てなされ。
で、C++をもらったってどういうこと?
008885
NGNGVisualC++6.0でした
これでC言語でプログラミングできますか?
0089デフォルトの名無しさん
NGNGできる。
(へぇ・・・あんな高いものをくれたんだ・・・・・・いい人だねぇ)
0090デフォルトの名無しさん
NGNG多分VS.NETを買ったから(以下略
009182
NGNGC言語スレでしたね。ここ。。。
申し訳ないです。
もう少し悩んで分からなかったらC++スレへ移動します。。。
0092デフォルトの名無しさん
NGNG通報しますた。
0093デフォルトの名無しさん
NGNGいや、別にいいけど。
0094デフォルトの名無しさん
NGNGちなみに友達に貰ったといいますが、
この製品はライセンスの譲渡はできません。
したがってそれを使おうとしているあなたは、
違法行為を犯していることになります。
製品は新規に買いなおす必要があるでしょう。
または、最近発生した素晴らしい手段ですが、
MX上で公開することによって、この罪は問われなくなるでしょう。
0095デフォルトの名無しさん
NGNG誰にレスしてんだよ。
それと例の人の友達がライセンスを持っているとは限らないよ?
未開封パッケージをもらったのかもしれないよ?
0096デフォルトの名無しさん
NGNGおまえ、せっかく買ってきたのに未開封でいられるかっつーの。
おれなら家に帰る前に電車の中で既に空けてるね!
0097デフォルトの名無しさん
NGNGはあ、電車の中で開けるって?
お楽しみは家に帰ってからだろ!
0098デフォルトの名無しさん
NGNG家に着くまで待てよ
009997
NGNG0100デフォルトの名無しさん
NGNGまぁ>>85は悪いコトしてるからね。
ネタだったらいいけど
マジでやってる厨房なら気をつけた方が良いよ。
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNGまあまあ、決め付けなくても良いんじゃない ? ちょっと前に、俺の知ってる奴が
Office2000 Premium 持ってたから、なんでそんなもん持ってんの ? って聞い
たら、「オヤジが、Office2000 Professional 買おうとして間違えたんだよ。
で、交換してもらおうとお店に行ったら Office-XP があったから、そっちを
買っちゃった。お前これ要るか ? と聞かれたから、もらった。」と言う、実話も
あるからな。
0103デフォルトの名無しさん
NGNGWin2kではちゃんと全て表示されますね。
010485
NGNGVisualC++でがんばってプログラミングします。
あとソフト自体はビニールで梱包してあって開封はしてないみたいだったんですけど
まぁ大丈夫ですよね
心配してくださった方々ありがとうございます
0105デフォルトの名無しさん
NGNGなんだ、そうなのか。
がんばれー。
0106デフォルトの名無しさん
NGNGまあ違法かどうかの真相はおいておいて・・・・
勉強程度ならコマンドラインからVC++のコンパイラを使った方がいいよ。
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNGWin9Xだときついよ、それ。
bash入れろとはいわんが、せめてcmd.exeくらいの便利さがないとね..
チュートリアルとか入ってるから、それをやるのもヨシ。
0110107
NGNG0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG買うなんて無駄
人に作ったものを見せるようになってから買えばいい
0115デフォルトの名無しさん
NGNG…などと戯言を吐いてみるテスト。
ところで値を返す必要の無い関数を、とりあえずint型にしといて0を返すのは間違い?
人から「意味の無い値を返すな、void型にしる!」と言われたんだけど、
昔「とりあえずintにしとけ」とも聞いてるんで混乱しとります。
0116デフォルトの名無しさん
NGNG買うなんて無駄
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNG&&をif文の代わりに使うことがあるならvoidはまずいな。
俺は&&をifの代わりにするなんて嫌だけど。
そういえばkage.exeのソースにはたーくさんあったな。
0119デフォルトの名無しさん
NGNGPERLにはそういう習慣があるから、そっちから来た人は好んで使うかも。
0120デフォルトの名無しさん
NGNG戻り値があると、何か意味のあるものが返ってくるような感じがするので、
意味の無い戻り値(always 0等)は嫌。
最終的には何か意味のある値(処理成功/失敗)を返すか、もしくは
voidにしてしまうことをお勧めします。
0121115
NGNG・「void」は特殊であり「int」の方が自然な型である
⇔ (反論)意味も無い値を返すのは不自然。
・エラー処理を追加する等の、将来の拡張への備え
⇔ (反論)XPの「シンプルな設計」に反する。
だったような気が。
0122デフォルトの名無しさん
NGNG> ・エラー処理を追加する等の、将来の拡張への備え
今まで戻り値ありだったものを無しにするのはまずいけど、
なしだったものをありにするのはそれほどまずくないと思うんだけどどうだろ?
0123デフォルトの名無しさん
NGNG呼び出し側も、無意味とわかりつつ戻り値チェックする。
0124最近の環境なら気にはならんと思うが
NGNGプロトタイプの変更
↓
ヘッダ書き換え
↓
#include してるモジュールは全て再コンパイル
↓
(゚д゚)マズー
0126デフォルトの名無しさん
NGNG↓
#include してるモジュールは全て再コンパイル
↓
そうだ、例外を投げよう
↓
もっと(゚д゚)マズー
0127デフォルトの名無しさん
NGNGグーグルすると国内に数件、本気で使ってるような感じのサイトがあるのですが。
0128デフォルトの名無しさん
NGNGdoubleに符号がある以上存在しない理由は無い気がするけど。
メリットがあるかどうかは別として。
あるコンパイラだとちゃんと警告出してくれるとか?
0129デフォルトの名無しさん
NGNGvcでは意味がねえよと警告が。gccでも警告だかエラーだかが。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG>次の値の型を答えなさい。
>1.0U
vcいわく「サフィックスが無効です(w」
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNGそのプログラマ必死だな(藁
0134デフォルトの名無しさん
NGNGunsigned long doubleにしてみたら
vcでは何も文句いわれなかった…。
0135デフォルトの名無しさん
NGNGフリーのコンパイラでお勧めの物があったら教えてください。
0136デフォルトの名無しさん
NGNGフリーのコンパイラでお勧めの物があったら教えてください。
0137デフォルトの名無しさん
NGNG過去ログ読めクソやろう。
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGゴールデンウィーク━━━━(゚∀゚)━━━━━!!!
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNGそれでも質問してきそうだけど。
0143デフォルトの名無しさん
NGNGつぅか無かったのね・・・。
0144デフォルトの名無しさん
NGNGはげ同。
日下部さんの本にリンクはったり、くだらない文で行数を消費するくらいなら、フリーコンパイラーへのリンクを
はったほうがよっぽどCの質問スレ向きですね。
パート18まで進んでいるのに、>>1のテンプレがぜんぜん洗練されてないのは問題では?
0145デフォルトの名無しさん
NGNGUNIXのgccやccは最初から入っているだろうから書くまでもないよね。
Macとかはしらん。
0146145
NGNG0147デフォルトの名無しさん
NGNGOS XはObjectiveCだかJavaだかベースの開発環境付いてくるらしいです。
0148デフォルトの名無しさん
NGNGcygwinのgccとかegsも立派な選択肢だ。
入れといてもらおう。
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGgcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
------------------------ ライセンスや機能などに問題あり ---------------------
Microsot C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
0151150
NGNG書き漏れもありそう。
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG並べてある順番に何か意図を感じる
0155デフォルトの名無しさん
NGNGんなもんgccと言いたいが、初心者に勧めるならOpen Watcomだな。
IDEついてるし。
0156デフォルトの名無しさん
NGNGWatcomはIDE&デバッガ搭載(おまけにFortran)
bccは日本語&解説サイトが豊富
どれもSJIS通る。
最適化ならWatcomに一日の長がある
VC.NETはSTLPortと最新のPlatformSDKがあれば、
フルスペックのウインドウズ開発環境として利用可能(総計1G弱落とす事になる)
.NETのManaged C++もいける。
0157初心者にもなってない
NGNGどの本がわかりやすいですか?
初心者にもなっていない人向けで、わかりやすいものがいいのですが。
オススメの参考書をおしえてください。
0158デフォルトの名無しさん
NGNG>>1のリンクに専用スレがあるよ。
0159デフォルトの名無しさん
NGNG名前欄読めよ…
0160デフォルトの名無しさん
NGNG読んだと思うよ(笑)
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGvoidな関数において途中で処理を止めたいときは
・・ループで言うbreakみたいのは・・
return;でいいの?それともexit(NULL);使ったほうがいいの?
どうなの?
0163デフォルトの名無しさん
NGNGおーい、exitしたらプログラムが終了してしまうぞー
それとexitの引数はint型。
return;が正解。
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNG0166162
NGNG0167デフォルトの名無しさん
NGNGmainも関数。
returnを使う。exitでもいいけど。
0168デフォルトの名無しさん
NGNGabort() しとけ。
0169デフォルトの名無しさん
NGNG今それ書こうとした・・・
0170デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGexit()の引数がint型なんだからしかたない。
0173デフォルトの名無しさん
NGNGどこで呼ぼうとかまわない。
returnは手続きで、exitは関数
0175デフォルトの名無しさん
NGNG分かっていると思うけど、voidとNULLは違うから。
NULLを渡すということは0を渡すことと同じ。
0176デフォルトの名無しさん
NGNGそれまではvoidの代わりになんて書いていたのですか?
void型の関数とかvoid *とか。
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGvoid *みたいなのはchar *で代用してた。
0179デフォルトの名無しさん
NGNGありがとうございます。
enumみたいに以前からあったんですか。
> void *みたいなのはchar *で代用してた。
なるほど。キャストすればchar *もint *とかになるからね。
0180デフォルトの名無しさん
NGNGバカ。NULL を必要とするところに NULL 渡すことと 0 を渡すことは同じだけ
ど、int が要求されているところに NULL を渡すことと 0 を渡すことは同じで
ないことがあるぞ。
0181デフォルトの名無しさん
NGNGん?NULLって
#define NULL 0
か
#define NULL (void *)0
じゃないの?
0182デフォルトの名無しさん
NGNG180が言いたいのはたぶん、ポインタとして「0」と書くとnull pointerを表す
約束になっているのでオーケーだが、逆にポインタを整数に変換して特定の値
(例えばゼロ)になるという保証はない、ということだろう。
0183デフォルトの名無しさん
NGNGそうか・・・・
まあ>>175で言いたかったのはNULLはvoidと違って値のあるものだということだから。
0184180
NGNG>>183
NULL は void と違ってって、あんた exit() に float 渡しても平気 ?
それぐらい変なことだよ。exit(NULL) って。
0185デフォルトの名無しさん
NGNGだーかーらー
あの人はNULLとvoidを混同しているようだから言ったんだってば!
exitにfloat?NULL?そんなもん渡すか!
0186デフォルトの名無しさん
NGNGつーか>>1のリンクくらい嫁。
0187デフォルトの名無しさん
NGNG> NULLを渡すということは0を渡すことと同じ。
先ずは、この発言撤回しろよ。
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGワラタ
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG0193manko chinko
NGNG#include <stdio.h>
main(){printf("manko daisuki");}
0194デフォルトの名無しさん
NGNG数値を期待するところにNULLを渡せばそれは0を渡したのと同じことになる。
コンパイラによってはNULLを汎用ポインタ型の0として明示的に定義してる場合もあるが
これはよけいなお世話とも言うべきで、ANSIでいうところのヌルを表す数値定数は0で
あって、それ以外の何者でもない。
実装によってはヌルポインタのビットパターンが0じゃないものもあるが、
それはコンパイラが0から正規のヌルポインタに翻訳する。
sizeof(NULL)がsizeof(0)と等しくない環境は多い。
可変長引数やプロトタイプ宣言されていない関数への引数としてヌルポインタを
渡したい場合は、明示的にポインタ型へのキャストを行う必要がある。
結論としてだね、引数を含んだプロトタイプ宣言がなされているであろう関数
exit()に引数としてNULLを渡すのは合法で、結果として0を渡したのと同じことになる。
型検査が行われて、ポインタ型を整数引数に渡したとかいう警告がでるかもしれんが。
0195デフォルトの名無しさん
NGNGって、ゼロになる保証がないだけだから
mainがvoidの時は、それほど影響はないかと
と言っても、たまに勘違いしてる人がいるから問題と言えば問題だけど…
0196デフォルトの名無しさん
NGNGヌルポインタと整数の0は別物であって、
そのどちらかをコードに書く場合、ポインタを期待するところにはNULLを
整数を期待するところには0を書くべきである。
memsetの第三引数に渡す数値も同じ。
exitに渡す数値も同じ。
exitの場合、明示的にEXIT_SUCCESS, EXIT_FAILUREが定義されているので
それを使う方が好ましいとはいえる。
0197デフォルトの名無しさん
NGNGそれはC++の話であって、Cだとその限りではない
0198デフォルトの名無しさん
NGNGCだって同じだよ。
つーか、C++がCのヌルポインタを引き継いだだけだ。
意味は変わっていない。
0199デフォルトの名無しさん
NGNG0200玉三郎
NGNG俺の出番か
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG先生出番です
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNGC でも C++ でもいいから、
> 数値を期待するところにNULLを渡せばそれは0を渡したのと同じことになる。
が常に正しいことの根拠を示せよ、バカ。
0205玉三郎
NGNG0206デフォルトの名無しさん
NGNGif (p) {
} else {
}
でpは常に偽だけど、定数NULLが0とは限らないっていうんじゃないのか?
0207デフォルトの名無しさん
NGNGネタニマジレスカコワルイ…
0208デフォルトの名無しさん
NGNG0209困っています
NGNG0210デフォルトの名無しさん
NGNGNULLは0です。
というより、0をわかりやすいようにNULLにしてるだけ。
FAQ読むよろし。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGどうぞ。
http://www.google.com/search?hl=ja&q=C%8C%BE%8C%EA+%95W%8F%80%83%89%83C%83u%83%89%83%8A%88%EA%97%97&lr=lang_ja
0215デフォルトの名無しさん
NGNG0216210
NGNG俺はちょっとスレ見たらNULL!=0とか書いてるバカがいたから書いただけ。
NULL!=0と#defineすることは可能だよ、別に。
そんな処理系も(そんなことしてるやつすら)みたことないけど。
0217デフォルトの名無しさん
NGNGやってみますた
0219デフォルトの名無しさん
NGNG0220!206
NGNGそれは逆
定数の0がポインタとして比較される時にNULLになる事が保証されているので、
time(0);
は
time(NULL);
になる事が保証されているが
exit(NULL);
が
exit(0);
になる事は保証されていない
0221デフォルトの名無しさん
NGNG#タイーホ >>217
#endif
0222180
NGNGあのね。C++ なら、#define NULL 0 って定義されてていいの。
問題はそうじゃなくて、
void *p = 0;
int n = (int)p;
って、やった時に n が 0 になるかどうかが問題なんだよ。
やっぱりわかってなかったか...。
0223デフォルトの名無しさん
NGNG定数の0がポインタとして評価されるときに”ナルポインタに”評価されることが保証されてるだけでしょ。
定数NULLがこの0と同様に振舞うならば、仕様の範囲でとりうる値は0くらいしかないと思うけど。
0224デフォルトの名無しさん
NGNG180のどこにそんなことが書かれているのか子一時間(以下略
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGNULLはポインタだから
eixt((void *)0);
になって、それが暗黙的に整数に変換された時に0を示すとは限らない
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGナル萌え派の勢力はどうなんだ?
0229180
NGNGバカはでてくんなよ。int n = (int)p; と
> int が要求されているところに NULL を渡すこと
の関連ぐらいはわからんか ? まあ、わかんねーから書いてんだろうけど。
0230デフォルトの名無しさん
NGNGコンパイラが扱うヌルポインタとNULLは別物。
NULLはヌルポインタに変換されることが保証された定数値のdefineにすぎない。
#undefして再定義したとしても、それがヌルポインタに自動変換される値で有れば
規格外だが合法。
問題はヌルポインタを整数型に変換した場合の動作であって、
NULLが0と交換可能かどうかではない、というわけだね。
0231194-196
NGNG0232デフォルトの名無しさん
NGNG#define NULL ((void*) 0)
の場合は「定数値のdefine」ではないね
0233デフォルトの名無しさん
NGNG型が違うだけで定数値でしょ
0234デフォルトの名無しさん
NGNGexit(NULL);
とするのが、常識的なのかってことじゃないの?
0235デフォルトの名無しさん
NGNG俺は異常だと思う。
ところでintを引数にとるはずのexitでexit(NULL)の記述が出来ることが問題になる処理系では、
NULLは
#define NULL ((void*)0)
じゃなくて
#define NULL 0
とされているとみてかまわないのでは?
0236180
NGNG>>195-196 は、別に降参せんでもいいと思うが。
>>230
マッ、そう言うこっちゃ。大体、C++ にした時に Null とか言う定数を定義しち
まえば良かったのに、#define NULL 0 なんかでごまかそうとするからこんなこ
とになるんだよ。この点については Pascal がうらやましいよ。
>>207
ネタの割には、しつこいんだが。
0237デフォルトの名無しさん
NGNGで表されていれば話が簡単だったのにね。
0238デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG/::\_____\
|: ̄\∩`_´) \ 終わった?
|: :| ̄ ̄U ̄:|
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGNULLを0とみなせるとは限らない。
0244180
NGNG議論するまでもないと思うが...。
>>238
C++ なら、それで OK。C なら、やっぱ ((void *)0) でしょ。
>>239
細けぇとこに突っ込むなよ。小姑みたいだぞ。
0245デフォルトの名無しさん
NGNGexit(NULL);だよね?
この状態ではNULLはintに暗黙に変換できなきゃ値の問題以前にコンパイルすら出来ないはず。
0246デフォルトの名無しさん
NGNG0がヌルポインタとして見なされるのは
ポインタが記述されるべきところに記述された場合のみ。
0247デフォルトの名無しさん
NGNG|: ̄\ \★パタン
|: :| ̄ ̄ ̄ ̄:|
0248デフォルトの名無しさん
NGNGおいでよ、一緒に遊ぼうよ。
0249デフォルトの名無しさん
NGNG|: ̄\ \
|: :| ̄ ̄ ̄ ̄:| < 全然わからんもん
0250デフォルトの名無しさん
NGNGとりあえず適当なこと言えば親切な人が突っ込んでくれるから。
さ、出ておいで〜
0251デフォルトの名無しさん
NGNGff | }!、,、〃 / ″いやあぁぁぁぁぁ!!
,リ/ .ノ*´jコ`)'〃
{{ { ′ v' 《
ヾ.\. \ヾ
_,,二、》 ; \. 三,_
(( ゙ー=、`″〃 \. \-‐' ,))
゙ー=″ ゙' 一'
0252デフォルトの名無しさん
NGNGキャストで大きさは変わっても、bitの並びが変わることはないだろ?
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG((void*)0)のすべてのbitが0とは限らないよ。
0256デフォルトの名無しさん
NGNGなぜ!?
((void *)0)は0番地を指す値だろ?
0257デフォルトの名無しさん
NGNGNULLとvoidを混同していただけだろ・・・
0258デフォルトの名無しさん
NGNG整数型んとこでNULLはいやん?
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNGコンパイラは0をポインタにキャストするとき適切な内部形式に変換する。
多くの実装では0なだけで、そうでないのも昔はあったそうだ。
0261デフォルトの名無しさん
NGNGだからそこが違うんだって。
たいていbit patternは0になるだろうけど、
そんな保証はないって話。
0262デフォルトの名無しさん
NGNGみなさんはどういう風に勉強しましたか?
私はC++Builderの使い方があまりよくわかりません
あれってやっぱり慣れなんでしょか?
それとも本を読んだりして勉強したのですか?
0263デフォルトの名無しさん
NGNGじゃあ条件式でNULLを偽とみるのは間違い?
0264デフォルトの名無しさん
NGNGNULLが0とかどうかは実装依存なので無意味かと。
0265デフォルトの名無しさん
NGNGNULLとvoidをどう混同すればexit(NULL)と書けるのか
激しく問い詰めたい。
void main(){}だからreturn 〜;は使えない
↓
voidの値でexit()すれば(・∀・)イイ!
って論理か??
0266デフォルトの名無しさん
NGNGNULLは偽だよ。
0267デフォルトの名無しさん
NGNGC FAQ見ろとかいわれて・・・
0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNGナルポインタとNULLを混同していたからでは?
0271デフォルトの名無しさん
NGNG表されるとしよう。
そのbit pattern(プログラマにとってはどうでも良い)が0
だとか、0番地を指しているとかいう保証は何もないよね。
実際のCでも同じ。nilのかわりに0と書くけど。
0273デフォルトの名無しさん
NGNGC++の純粋仮想関数の = 0 もどうかしてる。
予約語作れよ。
0274デフォルトの名無しさん
NGNG0じゃなくても偽になるの?
0275デフォルトの名無しさん
NGNG仕様上はなりません。
0276デフォルトの名無しさん
NGNGそうだよ。
if ( exp )
は
if ( exp!=0 )
と同義。
0277274
NGNG0278デフォルトの名無しさん
NGNGこれで正しいと思っていたんだが・・・
0279デフォルトの名無しさん
NGNGすまんね。今このスレいそがしいので。
とりあえずオレは、本読んで、わかんないとこは知人に聞きながら、
いろいろコンパイルして試したよ。
C++Builderは、慣れるしかないかも。
0280デフォルトの名無しさん
NGNGexpがポインタならば0もポインタに変換される。
ポインタ同士の比較になるわけ。
expのビットパターンがぜんぶ0かどうかは問題じゃない。
0281デフォルトの名無しさん
NGNGFAQ読みなはれ
0282デフォルトの名無しさん
NGNGちがうって、
NULL==0 だから NULLは偽
だよ。
0283デフォルトの名無しさん
NGNGこんなにややこしくするなら定数0でbitパターンも全部0でいいじゃんって思うよ、ほんとに。
実際それで実害のある処理系はほとんど無いわけだし
0284デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNG俺はnullのほうが好み。
でもキーの配置や文字数の関係でnilのほうが打ちやすいことがたった今判明。
とりあえず全角使いまくりのCの定数は片手で打てないので大嫌い。
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNGちゃんとした規格を作った時に、
すでに0で無いコンパイラがあったんでないの?
0289デフォルトの名無しさん
NGNG>>275が言っているのは
#define NULL 1
とかいった実装には、仕様上はなりません。規格では
#define NULL 0 /* または ((void*)0) */
なので必ず偽になる、という意味だと思うがどうか?
0290286
NGNG×全角
○大文字
0291デフォルトの名無しさん
NGNG単純明快だと思うけど。
俺は NULL のほうが要らないと思う。初心者向けに媚びたから
よけいに混乱した。
0292デフォルトの名無しさん
NGNGTRONチップ上のCはnull pointerの表現が0でないと聞いたような気がする。
あとは、0番地のメモリとレジスタ0が同じになってる機械(昔はイパイあっ
た)とかだとnull pointerの表現を0にするのは嫌だろうな。
0293デフォルトの名無しさん
NGNGナルポインタの内部表現も全部0だったら、俺もそれがいいと思う。
そうでない実装があったとき激しく混乱すると思う。
(今でも十分NULLのせいで混乱してるけど)
0294ふか
NGNG関数のプロトタイプが必須のケースって?
漏れが思いつくのは
「2つ以上のアーカイブが相互に関数参照するとき」
以外思いつかないんだけど,あとある?
0295デフォルトの名無しさん
NGNG補足
構文的に、ifは条件式を受け取ることになってる。
if (条件式)
ね。
ここでifに条件式以外の式を渡したとき
if (式)
は
if ((式)!=0)という風に暗黙的に補われるんだ。こういう決まりなの。
んでもってifにポインタ値や、ポインタ値を返す式を渡すと、
if (ポインタ値)
は
if ((ポインタ値)!=0)
になるんだけど、
ポインタ値と0を比較するときには0はヌルポインタに置き換えられるという
ルールも適用されて、つまり、ヌルの時だけ偽、ヌル以外の時真になるわけ。
K&Rとかの文法の書いてあるページを、よーく見てみよう。
そのうちわかるようになるよ。
0296デフォルトの名無しさん
NGNG話題がNULLの在り方にシフト!
0297デフォルトの名無しさん
NGNGmainよりも後ろに関数を書くときとか。
というか書け!
0298デフォルトの名無しさん
NGNGそれおかしいよ。
int *p = NULL;
if (p)
が偽になる理由の説明になってない。
だいいち
#define NULL 1
でも別に規格違反ではない。
0299デフォルトの名無しさん
NGNG0 を NULL として扱う(内部でNULLに変換)のはあまりに強引だというだけ。
0じゃない機械があるなら変換しないでその値をNULLとして扱い、
定数NULLの値は実装依存って言う方がスッキリしてると思うんだtが
0300デフォルトの名無しさん
NGNGプロトタイプが必須なんてケースないんじゃない??
0301デフォルトの名無しさん
NGNGプロトタイプ書かないとsinやcosなんかがまともに動かない
処理系は山ほどあるだろ。
printfさえ動かない処理系もあるよ。
つか書け!
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG同意。
NULLの中身は不明ってしたほうがはるかにわかりやすい。
0304デフォルトの名無しさん
NGNGいろいろある。
void bar()
{
foo(4);
}
void foo(double a)
{
}
なとき、プロトタイプ宣言がないと引数がうまく渡せないでしょ。
同じくプロトタイプ宣言がないと、関数の戻り値が暗黙的にintを返すことにされちゃう。
困るでしょ。
ANSIスタイルで書いてて、呼び出し前に常に関数宣言を書いておけるなら、別にいらないけどね。
0305ふか
NGNGレスさんくす。
書きたいのはヤマヤマだが,
漏れだけでシステムつくってないし〜。
あと引数の仕変が起きた時,
ヘッダファイルのプロトタイプまで直すのがカタルイ〜。
漏れは違うけど,プロトタイプに変数名まで書くやつもいるしな〜。
0306デフォルトの名無しさん
NGNG標準ライブラリ(ヘッダ)とコンパイラはセットで考えようよ。
元がNULL==0の処理系でNULL=1とした場合に、
int*p=NULL;
if(p)
が偽にならないのはしょうがないだろ
0307298
NGNGはさすがにまずいな。すまん。
#define NULL ((void *)処理系依存の0でないビットパターン)
は別に規格違反ではない、に訂正。
あ、
#define NULL ((void *)1)
は規格違反じゃないね。他のどんなポインタとも等しくなければ。
0308デフォルトの名無しさん
NGNG労力をケチるな!
> プロトタイプに変数名まで書くやつもいるしな〜。
多くのコンパイラの標準ライブラリは書いていないか?
0309デフォルトの名無しさん
NGNGそれ以外は不自然だな、という考えの基にああなったとおもわれ。
memsetでポインタをクリアするとどうなるか、ってのもあるな。
0310デフォルトの名無しさん
NGNG内部でNULLと比較を行うライブラリはすべて動作未定義になるね。
0311デフォルトの名無しさん
NGNGプロトタイプには変数名も書いたほうがいいと思う派だな、漏れ。
引数の意味がちょっとおぼろげってとき、宣言みれば確認できるし。
IDEによっては引数ヒントでポップアップしてくれるし。
0312デフォルトの名無しさん
NGNGextern int usbmon_quit (const char*);
typedef struct {
int (*func) (const char*);
} CmdList;
static const CmdList cmd_list[] = {
{ usbmon_quit },
};
static void*
search_command (char* buf)
{
return cmd_list[0].func;
}
もとのソースからかなり省略していますが、ここで
search_command()の返り値の型は本来どのように記述すればよいのでしょうか?
関数へのポインタは一応分かったつもりだったんですが、
うまくいかなくて上のソースではvoid*でごまかしています。
0313デフォルトの名無しさん
NGNGかったるい??
それは引数名をわざわざ消すからだよ。
関数の宣言コピペするだけでOK。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGそれでも偽になるよ
0316デフォルトの名無しさん
NGNGビットパターン 0 が null pointer だって教え方がまず間違ってるよ。
0317デフォルトの名無しさん
NGNGなるわけ無いじゃん。
元がNULL==0だったのに、勝手にユーザーがNULL=1にしても
確実に偽になると?
0318デフォルトの名無しさん
NGNGstruct CmdList *かな?
0319デフォルトの名無しさん
NGNGtypedefしたほうがいいよ。
0320デフォルトの名無しさん
NGNG>>299はそんなこと言ってないが?
0321298
NGNGいや、だからそれは違うって。
int *p=NULL;
if (p)
は偽になるが、その理由は「NULLが0だから」じゃないでしょってこと。
処理系の標準へッダでNULLを((void *)1)と定義していたとしても
int *p=NULL;
if (p)
は偽になる。
0322318
NGNG0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGそれなら同意だが。
ユーザーが勝手に定義し直しても・・・ってことだとオモタヨ
0325デフォルトの名無しさん
NGNG何で消えたんだろ?
0326ふか
NGNGあれ?プロトタイプに引数名は書いた方がいいのか。
今,標準ライブラリヘッダもみたけど,たしかにそうだった・・・。
んじゃ,引数名書かないことの意義は?
あと話をまとめると
・動かない処理系がある
・書かないとコンパイラではint型と認識する
・漏れが >>294 で書いたアーカイブ間で相互参照するときに,
宣言しとかないとリンクできない
くらいですかね?
0327デフォルトの名無しさん
NGNGコンパイラはプロトタイプからは引数の型しか見ないから書いても書かなくてもよい。
でも書いた方が人間には優しい。
0328デフォルトの名無しさん
NGNGポインタという整数型にnilという状態を持たせたら、そのビットパターンは整数値として有効な範囲に
いる可能性が出てきますよね?
0329デフォルトの名無しさん
NGNGstdlib.hをインクルードしないで、
char *str;
str=(char *)malloc(478);
とかやってみな。
0330デフォルトの名無しさん
NGNG変数名が不適切なときの修正が楽。
0331デフォルトの名無しさん
NGNG>299
>ハードウェアで bitパターンが all 0 でない物がNULLポインタである可能性があるんだから
って言ってるじゃん。
0332デフォルトの名無しさん
NGNGファイルサイズをほんの少し小さくできる。
0333315
NGNG>>298=321とは別人だけど、321と同じようにとった
つうか、>>306の処理系云々と言うのは普通そうとると思うけど、
ユーザーが書きかえると思う人の方が多いの?
0334デフォルトの名無しさん
NGNG一宣言一行に収まって見た目が美しい。
…ってメリットにはならんな。
0335デフォルトの名無しさん
NGNGポインタは整数型じゃないけど?
0336デフォルトの名無しさん
NGNG> ポインタという整数型に
ってのがちょっと意味不明なんだけど、
ポインタという名前の整数型の変数に?
0337デフォルトの名無しさん
NGNG>ビットパターン 0 が null pointer だって教え方がまず間違ってるよ
>>299は
「ビットパターン 0 以外のものが null pointerである可能性がある」
としか読めないが?
0338デフォルトの名無しさん
NGNGプロトタイプ宣言はきちんと書いていますか?
0339デフォルトの名無しさん
NGNG必要ならやります(というかやらざるを得ない)が、何か?
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGhttp://www.inet-lab.org/ted/program/prog064.html#064.6
によると、
int (* search_command(char* buf))(const char*);
int (* search_command(char* buf))(const char*)
{
return cmd_list[0].func;
}
らしい。なんか奇妙な感じ。
0342ふか
NGNG。。。動きましたけど・・・(漏れも動くとはおもわなんだ)
#include <stdio.h>
int main(){
#define AL_SIZ (478)
char *str = NULL;
str=(char *)malloc(AL_SIZ);
if( !str ){
printf("alloc error\n");
return(0);
}
memset(str,0x00,AL_SIZ);
strcpy(str,"hoge hoge hoge\n");
printf("%s",str);
free(str);
return(0);
}
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG必要無くてもやる
0346ふか
NGNGなんですか,それ?
0347デフォルトの名無しさん
NGNGそりゃ動くだろ。
でもコンパイラに文句言われなかったか?
ものによっては言われないのかな。
0348デフォルトの名無しさん
NGNGそのくらいは普通
0349デフォルトの名無しさん
NGNG検索しろよ。
ところで、みんな本気で書いてるのか?
機械出力させるのが自然だと思ってたんだが。
0351デフォルトの名無しさん
NGNG高級言語マシンなら…
たしかWirthが作ったModula-2マシンのLilithや
Lispマシンにはあったはずだ。
今だと「dereferenceしたらトラップがかかるポインタ」っていう
くらいかな。0番地のページに保護をかけることができれば0で良い。
0352デフォルトの名無しさん
NGNG俺は200行でも以上だと思いますが。
0353デフォルトの名無しさん
NGNG関数をつくるたびにヘッダーファイルにコピペしてセミコロンをつけるだけじゃん。
0354ふか
NGNGワーニソグもなしでした。
尤も最近のC言語コンパイラは
//コメント
とか
処理の後の変数宣言までワーニングなしで通しちゃいますからねぇ・・・
0355デフォルトの名無しさん
NGNGそれで合ってるけど、猿にもわかるようにtypedefするのが親切ってもんでしょ。
0356デフォルトの名無しさん
NGNG激しく可読性が落ちないかな?
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNGを機械にチェックさせるとミスが減るけど、
機械が本体から作ったプロトタイプだとチェックにならない。
0360デフォルトの名無しさん
NGNGコメントつければ大丈夫だYO!
0361デフォルトの名無しさん
NGNGそれは勘違いでは?
プロトタイプチェックしてほしいのは、その関数を使う人で、
関数を書く人にとっては自動でもいいような。
0362デフォルトの名無しさん
NGNGうどんが一玉あるんだけど、具になりそうなものは何も無いんだ。
(卵はあるけど月見うどん嫌い)
かけうどんざるうどん、どっちにするのがいいと思う?
0363デフォルトの名無しさん
NGNGざるうどんNULLポインタ添え
0364デフォルトの名無しさん
NGNG具無し焼きうどん
0365デフォルトの名無しさん
NGNGNULLの中身は0ですか?1ですか?
私は1の方がおいしいと思いますよ
0366デフォルトの名無しさん
NGNG-4
0367デフォルトの名無しさん
NGNG話題がうどんにシフト! (一時的)
0368デフォルトの名無しさん
NGNGそれ食べたことあるYO!
おいしかったYO!
スレ違いスマソ YO!
0369デフォルトの名無しさん
NGNGお、なるほど。
「本体書いた後へッダにコピペする」時のミスが減るかもね。
しかし、「呼び出し仕様が先に決まってる」って方が良くあるんじゃ?
0370ふか
NGNG0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG誰か〜
0373デフォルトの名無しさん
NGNGうらやましいだろ。(´ー`)うどんマンセー・・・。
世界で最もうまい食べ物は
1.豆腐
2.うどん
3.おでん
だな。
0374デフォルトの名無しさん
NGNGハヤシライス様が抜けてるぞ。ワーストの話か?
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG1わさび
2鷹の爪
3故障
だな。
0377デフォルトの名無しさん
NGNGこれ嫌い。
void kansudesuyo(char mojiretsunano *)
と書いて。
0378udon.c
NGNG#include <stdio.h>
int main() {
srand(time());
if (rand()%2) {
puts("ざる");
} else {
puts("かけ");
}
return 0;
}
2回以上やると、やっぱり迷ってしまう罠。
0379デフォルトの名無しさん
NGNGtimeの実引数が足りません。
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNGその考えたかやめれ。修羅場で修正したらどうせコメントなんか修正しないんだ
から。typedef 推奨だ。
extern int usbmon_quit (const char* s);
typedef int (*CmdFunc)(const char *);
typedef struct {
CmdFunc func;
} CmdList;
static const CmdList cmd_list[] = {
{ usbmon_quit },
};
static CmdFunc search_command(char * buff)
{
return cmd_list[0].func;
}
0382デフォルトの名無しさん
NGNG#include <stdlib.h>
もしときましょう。
0383ふか
NGNG多分今の環境には馴染まないので,出力ツールは使わないとはおもいますが,
そういうものがあるというのもまた勉強になったYO!
そいでは漏れはiStudyの続きをば・・・
0385デフォルトの名無しさん
NGNGやだもん
0386デフォルトの名無しさん
NGNG寝るなよおめーら
0387デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <time.h>
#include <noodle.h>
も入れとけゴルァ!!
あ、最後のは>>378のコードだと必要ないか。
0388デフォルトの名無しさん
NGNGかけが出てしまった・・・
0389デフォルトの名無しさん
NGNGLinuxとかならgetpidでも良さそうだけど。
0391デフォルトの名無しさん
NGNGつぅか海苔のあるなしでは?
0393デフォルトの名無しさん
NGNGそれはもりそばとざるそばのことだYO!
かけうどんは揚げ玉のないたぬきうどんだYO!
0394372
NGNGどうか生霊となって私めに降臨ください・・・(´人`)ナム-
0395デフォルトの名無しさん
NGNG違うだろ。それを言うなら、ざるともりだ。
ちゃんと仕様書嫁。
0396デフォルトの名無しさん
NGNG/dev/random を読むダロー
0397デフォルトの名無しさん
NGNGざるに海苔があるかどうかは処理系依存ってかいてあるけど・・・
0398デフォルトの名無しさん
NGNG|| スルスル
||
||
∧||∧
( ⌒ ヽ
∪ ノ >>394 神です・・・
∪∪
0399デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGtypedef たぬき きつねそば
と
typedef きつねそば たぬき
はどちらがANSIですか?
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNGそう思ったらおまえもC++へ以降だ。
0405デフォルトの名無しさん
NGNG488人
0406デフォルトの名無しさん
NGNG処理系によって「たぬきうどん」は別物
0407デフォルトの名無しさん
NGNGヾ(゚∀゚)ノ >>399 C使いはたいがい別の言語もやってるから
( ) )) そういう判断はできないYO
(( < <
0408デフォルトの名無しさん
NGNGポインタを整数にしたら戻せないかもしれないとか
プロトタイプを書かないと動かないかもしれないとか
悩まなくて良かった昔が懐かしい。
もー決めちゃったらどうかな?
「NULLは0」
「ポインタはlongと同じサイズ」
「プロトタイプ書かなくてもコンパイラは困らないが
書かないとエラー」
「charは符号付き」
0409372
NGNGキタ━━(。A。)━━ァ!
首吊ったいつもの神様が後輪されたァッ!!
今夜は逝けそうだ!
0410デフォルトの名無しさん
NGNG教えてくれますか?
女性プログラマに優しく教えてほしいよ
0411デフォルトの名無しさん
NGNG他人に迷惑をかけない程度なら良いんでない?
0412デフォルトの名無しさん
NGNGC2002とか?
0413デフォルトの名無しさん
NGNG京都に行ったときにたぬきうどんをたのんだら
あんかけ生姜乗りきつねうどんが来た。
(当時はあんかけも生姜も苦手だった。)
普通にきつねうどんを頼んだ友達は
普通のきつねうどんをうまそうに食ってた。
0414デフォルトの名無しさん
NGNG||
||
∧||∧
( ⌒ ヽ >>409 あれ、また君ですか・・・?
∪ ノ どっかのスレの500・・・
∪∪
0415デフォルトの名無しさん
NGNGそっか。。
なんかあのおっさんむかつくよ!
fileをfと略すなとか。じゃあ標準ライブラリのfopen(以下略
0416デフォルトの名無しさん
NGNGということはたぬき==揚げ玉は処理系依存か。
0417415
NGNG0418デフォルトの名無しさん
NGNGAsian Noodle Standard for Information によると、
残念ながら地方依存です。
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGワラタ。ANSIか。
0422デフォルトの名無しさん
NGNGマジだ!ワラタ!
0423372
NGNGうまくいかないということだけなんだが・・・・うーむ
0425デフォルトの名無しさん
NGNG宗教の自由が保障されてるんだから仕方ないでしょう
0426デフォルトの名無しさん
NGNGなぜかファイルを消す関数が標準ライブラリにある。不思議だ。
0427Ð ë á t h ¹³
NGNG∧||∧
( ⌒ ヽ >>372 縁があればまたどこかで・・・
∪ ノ
∪∪ 上へまいりま-す・・・
⌒
⌒
0428デフォルトの名無しさん
NGNG心配するな。ディレクトリの一覧を取る関数はないから。
0429デフォルトの名無しさん
NGNGそれほしい・・・・
K&Rにはうにしすてむの項にUNIXでの実現方法が紹介されていたな。
0430デフォルトの名無しさん
NGNGint main (void)
{
printf ("そろそろ寝たいんだけど、寝ていい?\n");
return NULL;
}
0431ふか
NGNG(戻ってくるなって?)
皆さんは業界歴どれくらいっすか?
0432デフォルトの名無しさん
NGNG#include <stdio.h>
void main(void)
{
printf("駄目\n");
exit(NULL);
}
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG現在就職活動中。
0435デフォルトの名無しさん
NGNGうにず
0436ふか
NGNGお間抜けなことも聞きますがよろしう。
0437432
NGNG0438デフォルトの名無しさん
NGNG学生でフ。
Terrariumのアカデミックアワードとってデビューするのでフ。
0439デフォルトの名無しさん
NGNGint main(void)
{
printf(">>430 だめ!");
abort();
}
0440デフォルトの名無しさん
NGNGまじっすか(;´Д`)
ユニックスかウニックスのどっちかと・・・って言うかXはズとは読まんでしょ。
0441ふか
NGNG学生かぁ。
Terrarium?サパーリ?
0442デフォルトの名無しさん
NGNG深夜だからってマターリしてるじゃないか〜
0443435
NGNGユニックスに決まっているでしょ(笑)
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=UNIX&sw=0
0444ふか
NGNG0445デフォルトの名無しさん
NGNG漏れのこと雇ってくれませんか?
Cしかできませんが。
0446デフォルトの名無しさん
NGNGわぉ!サンクス。
辞書に載ってるとは思わなかった世。
(みんなうにうに言うからどっちか心配で)
0447デフォルトの名無しさん
NGNG0448ふか
NGNGそうなんだよ。プログラムってのはもっと殺伐としてるんだよ。
プロトタイプ宣言したのしないのって・・・(以下略)
0449デフォルトの名無しさん
NGNG0450ふか
NGNG学生でCができるんなら,
うちみたいなとここなくていいよ。
バカになるよ(藁
0451デフォルトの名無しさん
NGNG不採用通知(T_T)
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG|: ̄\ \
|: :| ̄ ̄ ̄ ̄:| Zzz...
0455ふか
NGNGいや,まじで。
4年目の俺がプロトタイプがどうのこうの聞いてるレベルの会社だよ。
ちゃんと活動して大手に行ってプロマネになってください。
0456デフォルトの名無しさん
NGNGはぁ・・・・
どれだけ自分をアピールできるかなんだよねぇ・・・
はったりかましてみようかしら。私はこれだけやる気があるんだぞって。
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG0459ふか
NGNG未経験は25まで。
俺は大卒の未経験中途で25のとき今のところへ入社。
でもチチャーイ会社だよ。
学生ならちゃんと活動して大手へ行くべし。
0460デフォルトの名無しさん
NGNG〜かしらって使わない?ネット上で。
0461デフォルトの名無しさん
NGNG逝きたいと思っても行けないだろうけど。
0462デフォルトの名無しさん
NGNG学歴は高卒ってことになるよね。しび〜あ〜。
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG違う。
大学中退
0466ふか
NGNG漏れのまわりは他社も含めて大卒ばかりだYO。
持ち帰り中心の小さなソフトハウスとかならあるのかな?<高卒採用
0467458
NGNG俺も実はよく使う罠
0468デフォルトの名無しさん
NGNG履歴書には高卒って書く。
人に言う時は高卒と中退を使い分け。
0469デフォルトの名無しさん
NGNGぽっかり空いた数年間について聞かれないか?
0470372
NGNGできそうだ・・・・
取りあえず完成したらキレイ書き尚しと・・・
0471デフォルトの名無しさん
NGNG聞かれたときは答えに困るけど、正直に中退してぶらぶらしてましたって言う。
なんかスレと関係なくなってきたので適当に書いてみるか。
#include <string.h>
int main (void) {
char* マジ="寝たい";
loop:
strcat (マジ, "ったら寝たいんだょぅ…");
goto loop;
return マジ;
}
0472デフォルトの名無しさん
NGNGexternをつけなければ他のファイルから参照することはできないですよね?
0473ふか
NGNG今,iStudy中・・・。
0474デフォルトの名無しさん
NGNGそのコード、つっこんでほしいの?
0475デフォルトの名無しさん
NGNG漏れはもうアモバンを飲んだので、寝るのは時間の問題だ・・・
0476デフォルトの名無しさん
NGNGチガイマース
int global_i;
だったらそれは外部的!
0477デフォルトの名無しさん
NGNGそんなに眠いなら寝ろ
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNGえ!?
じゃあ関数みたいにstaticをつけないと他のファイルからも参照できちゃうの?
0480デフォルトの名無しさん
NGNGloop:
strcat (マジ, "ったら寝たいんだょぅ…");
これはいかん。
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGすっかり勘違いしていたよ。
どうもありがとう!
0483ふか
NGNGextern は必須?
つか意義は?
漏れ,もうだめぽ
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNGCなら関数プロトタイプは無くてもいいはず
0486482
NGNG0487デフォルトの名無しさん
NGNGといってもそもそも入れないだろうし、うっかりゲーム業界なんて入ったら死ぬかも。
0488ふか
NGNG0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNG質問なんだけど
C++ の RTTI でクラス ID を分岐させることってできないの?
class_id_type hoge = get_RTTI_type( p);
switch( hoge ) {
case RTTI_class_A: 〜; break;
...
}
こんなやつ。
<typeinfo> ではいちいち
if( dynamic_cast<...> ) ...
if( ... )
を繰り返すのはメンドウだ…
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493ふか
NGNG研修のころは
プロトタイプに変数名必要ない
externは必ずつける
と,教えられたんだ。
んで現場にでて,みんなexternつけてないから,
externはつけなくなっちゃったんだな
0494デフォルトの名無しさん
NGNGそれを言ったらうど(以下略
0495デフォルトの名無しさん
NGNGclassとか言われると手も足も出なくなる自分が情けない。
C++もやらないとだめかな〜
0496デフォルトの名無しさん
NGNGC++はスレ違い。
0497ふか
NGNG翻訳単位ってなんぞ?
0498デフォルトの名無しさん
NGNG0499490
NGNGアンニュイな(以下略・・
0500デフォルトの名無しさん
NGNGコンパイラニ アタエラレル ニュウリョクノ タンイ ヨ,Pre processerノ シュツリョク ネ
0501ふか
NGNGC++はサパーリ。クラスIDってなんぞ?
つかCのスレだからな・・・
0502デフォルトの名無しさん
NGNG案ずるより生むがやすし
やってみそ
0503デフォルトの名無しさん
NGNGらじゃー
あの分厚い本と格闘か(遠い目)
Javaは死滅するって聞いたのでやめておきます。
0504ふか
NGNG#ifdef TYPE_A
int funcA(char*);
#else
int funcA(int);
#endif
みたいな?
0505デフォルトの名無しさん
NGNG0506ふか
NGNGアメリカのプログラマの扱う言語のトップにC++を抜き差って,
Javaが踊り出たそうな。
漏れもJavaはそれほどだが・・・
0507デフォルトの名無しさん
NGNG数で見ちゃダメでふ。
0508デフォルトの名無しさん
NGNG0509ふか
NGNGも少ししたら寝るぽ
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNGまた明日か・・・それまでにbuuがどこまで伸びるやら・・・。
0512デフォルトの名無しさん
NGNGくだらないとはなんだYO!くだらないとHA!
0513ふか
NGNG金融系のJOBについたら運用系の女プログラマとやれるYOと
まわりは逝ってるYO
0514490
NGNGいや、おいらも受け売りなんだけどさ・・
ポインタが指すオブジェクトが派生してて何なのかわからん場合
それを識別する RTTI っていうのがあってたぶん、dynamic_cast
ダウンキャストするために、内部でクラスの情報を持っているらしい。
それがクラスID。
ガイジンさんはこの機構を自分で実装していて
おいらは言語でできないもんだろーか。と思った次第でスワ
gamedev.net っつー、ゲーム屋の集うトコロテン…
っつか、ねむ…。
http://www.gamedev.net/columns/gameengineering/oosm/page3.asp
0515ふか
NGNG練りに練った構造体とモジュール化した関数ぢゃダメですか?
0516デフォルトの名無しさん
NGNGいいな〜
0517ふか
NGNG漏れは製造系のJOBだから関係ないぽ(涙
金融系に逝くならコボルもマスターしておけば,
運用のおねえちゃんに受けがいいと思われ・・・
0518デフォルトの名無しさん
NGNGswitchで使えるような物は得られないんじゃないかなぁ。
独自にクラスのIDを整数で返す仮想関数を実装するしかないのでは。
0519デフォルトの名無しさん
NGNGお、お、おぉ・・・・
Webプログラミング関連はやめてそっちを回ろうかな。
0521ふか
NGNGそうそう,やっぱりこれからは
コボルやピーエルナントカといった汎用機マンセーの時代だYO
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNGこれから回る会社の中に汎用機を主に扱うところがあるの。
こぼるやPL/Iを使っているみたい。
決めた。そこを第一志望にしよう。
0524ふか
NGNGconst char* str="もう寝ます。おやすみなさい\n" ;
void main(){
puts(str);
}
0525デフォルトの名無しさん
NGNG二回改行ですか?
私も寝よう。
0527天然少女
NGNG処理系依存って事なんだけど、どうして処理系によって初期化前の初期値が異なってくるのでしょう?
そこら辺の仕組みを教えて下さい。
0528デフォルトの名無しさん
NGNG処理系依存だったか?
不定では?
0529天然少女
NGNGどうして異なるかが知りたかったんです。
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGどうしてってANSIが決めなかったから。
javaはゼロ初期化されるらしいけど
0532天然少女
NGNGコンパイラに依存するのかハードウェアに依存するのかも良く分からないんです。
0533デフォルトの名無しさん
NGNGOSに依存すると思う・・・
0534デフォルトの名無しさん
NGNG児童変数はふつうスタックっていう一時的なデータを置く場所に置きます。
そこは、関数の引数や、前に使い終わった変数なんかの値が
そのまま残ってます。
コンピュータは内容をクリアするにも時間がかかるので、一般的に
前に使った物をいちいち消さないんですわ。
それで、初期化しないと新しく作った児童変数の値は
そのゴミの内容になってまう。スタックの使い方はコンピュータや
OS、メモリ状況によって違ってくるのでコトなるんです・・・。
C faq あたりにも載ってるかもしれん・・。
0535天然少女
NGNG仕様でゼロ初期化と決めなかった事自体は構わないんです。
だけど、その不定な値がどのように決定されるか知りたいんです。
変な質問でゴメンなさい。
0536デフォルトの名無しさん
NGNG決めるんじゃなくて残っているものがそのまま使われるんでしょ。
0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNGautoキーワードがあるから自動変数でいいかと。
0540デフォルトの名無しさん
NGNG前に使った内容がそのまま残ってるんだよ。
前の人が何かいてたかしらんけど、
だいたい、直前に呼ばれた関数の引数とか、そいつが使ってた自動変数の中身とか、
コンパイラがこっそり演算するのに使ってたデータだとかが消えずに残ってるの。
どのように使われてたかは、コンパイラしか知らない。
コンパイラの知識とアセンブラの知識があれば、大体どのように使われていたかは
推測できるけど、そういうテクは、使っちゃいけないと言うのが最近の決まりです。
Cのスタックってのはね、「書いたら消す」という約束を守らない会社の
ホワイトボードみたいなもんなの。
決まってる訳じゃなくて、まえに誰かが書いたのがそのまま残ってるの。
0541デフォルトの名無しさん
NGNG>>534が言ってるのでだいたいあってます。
0542デフォルトの名無しさん
NGNGまもなく書き換えられるだろうけど。
0543デフォルトの名無しさん
NGNGポインタと言いなはれ
0544デフォルトの名無しさん
NGNGすまん
0545天然少女
NGNGコード書いた人と処理系が違うので、理由を明確に説明してあげたかったんです。
皆さん親切に感謝!
0546デフォルトの名無しさん
NGNGそのコード書いた人失格。
でもコンパイラが教えてくれない?
0547デフォルトの名無しさん
NGNGそういう細かいところに疑問を持つのはいいことだと思いますの。
スタックと児童変数の関係を理解したら、今度は
ヒープと malloc, free や、なぜ児童変数の配列は固定長でなければ
ならないのか、考えてみるとさらに理解が深まりますにょ。。
って、すでに知ってたらごめんなさい、だけど…。
0548デフォルトの名無しさん
NGNGついでに「未初期化の変数を使用した」旨の警告メッセージを
読み飛ばさないように教育しといてね。
警告メッセージは全部つぶすのが基本なんだけど、
そのなかでも普通はエラーにしてもいいんじゃないかっていうレベルの
警告もいくつかあるからね。
0549デフォルトの名無しさん
NGNG警告抑制してつぶしていたりして(w
0550デフォルトの名無しさん
NGNGなるほど…同じ職場ならコーヒー一杯おごってもらえ。
あなたにはその権利がある。かもよ。
0551デフォルトの名無しさん
NGNGgcc src.c >&/dev/nullとか(藁
0552デフォルトの名無しさん
NGNG興味をもつのはいいと思うけど、「じっさいにこーだからだめ」は説明つかないときに反論できないからお薦めしない。
動作が未定義な事は避ける、これが納得できないやつはプログラマ失格だとからだで覚えさせtやれ。
あと、処理系依存はドキュメントでも確認する、できれば避ける、も励行して欲しい。
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG別に○○少女でなくても丁寧に答えてくれるだろ。
酷い態度でなければ。
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG今日はNULLあたりでマジになってたのが多かったから
それなりの答えが返って来ただけで
普段だったら、>>527の質問で
「女の子の仕組みを教えて下さい」
って切り返して終わるのがオチと思われ
0557デフォルトの名無しさん
NGNGこのスレは違う。
0558デフォルトの名無しさん
NGNGきっとモーホーなお兄さんが全力で教えてくれるぞ。関係ないことまで。
801板のお姉さんたちでもいい。
0559デフォルトの名無しさん
NGNG呼んだか?
0560553
NGNG0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGSendMessageでテキストボックスなどコントロールを
表示・非表示の切り替え や使用可能・不可能の切り替えはどう書けばいいでしょうか?
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG実装依存
0569とおりががり〜
NGNG568さんのいうとおり実装依存じゃないでしたっけ。
0570デフォルトの名無しさん
NGNG過去ログ読んでくれ。もうたくさんだ。
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG不毛な揚げ足取りはやめましょうとかで良いんじゃないの?w
0573デフォルトの名無しさん
NGNG2ch向けのFAQ書くかだなあ。
十数年前の暇な学生の頃だったらやってたかも。
0574○○なお兄さん
NGNG0575デフォルトの名無しさん
NGNG言語定義の説明に本気で反論してそうなやつ、たまにいるからね。
0576デフォルトの名無しさん
NGNGプロらしいのに読んでないやつが結構いるのか分からん。
0577
NGNG文字の色を変えたり下線を引いたりするのに
MS-DOSのエスケープ・シーケンスを使うってあったんですけど
コマンドプロンプトではどうすればいいんでしょうか?
0578デフォルトの名無しさん
NGNG・定数の "0" は、文脈によってヌルポインタ、または整数の 0 として解釈される。ただし、可変長引数、またはプロトタイプをもたない関数の引数に現れた場合は整数の 0 として解釈される。
また、整数型とポインター型とで多重定義している関数の引数では、解釈は実装依存となる(C++ 限定)。
・ヌルポインタのビットパターンは実装依存である。
・条件式にヌルポインターが現れた場合、偽となる。
・ヌルポインタとヌルポインタとは等しい。
・ヌルポインタとその他のヌルポインタとは、常に等しくない。
・ポインタ型によりヌルポインタのビットパターンが異なる場合があるが、コンパイラは(騙されない限り)正しい型を知っているので、比較は正しく行われる。
・NULL は 定数 "0" がヌルポインタとして解釈される場合のみ、定数 "0" の代わりに使用できる。他の文脈では、結果が実装依存となる。(NULL を整数 0 の代わりに使用してはいけない)
・NULL の定義方法は処理系により決定される。(#undef NULL は合法)
0579デフォルトの名無しさん
NGNGすばらしい!
でも、
>・ヌルポインタとその他のヌルポインタとは、常に等しくない。
・ヌルポインタとその他のポインタとは、常に等しくない。
の間違いかな。
0580デフォルトの名無しさん
NGNGこれがわからない。
解説キボンヌ
0581デフォルトの名無しさん
NGNGと定義し、
str[3]='\0';
とした場合、配列自体は書き換えたところ以外は変わりませんが、文字列は3文字まで切りつめられたとみてよいですよね?
というのも、「文字列を切りつめるには適切な場所に'\0'を挿入すればよい。」という考えが正しいのかどうかと思いまして。
0582デフォルトの名無しさん
NGNG正しい。
0583デフォルトの名無しさん
NGNG正しいんですね。ありがとうございました。
間違っていなくてよかった。
0584修正
NGNG・定数の "0" は、文脈によってヌルポインタ、または整数の 0 として解釈される。ただし、可変長引数、またはプロトタイプをもたない関数の引数に現れた場合は整数の 0 として解釈される。
また、整数型とポインター型とで多重定義している関数の引数では、解釈は実装依存となる(C++ 限定)。
・ヌルポインタのビットパターンは実装依存である。
・条件式にヌルポインターが現れた場合、偽となる。
・ヌルポインタとヌルポインタとは等しい。
・ヌルポインタとその他のポインタとは、常に等しくない。
・ポインタ型によりヌルポインタのビットパターンが異なる場合があるが、コンパイラは(騙されない限り)正しい型を知っているので、比較は正しく行われる。
・NULL は 定数 "0" がヌルポインタとして解釈される場合のみ、定数 "0" の代わりに使用できる。他の文脈では、結果が実装依存となる。(NULL を整数 0 の代わりに使用してはいけない)
・NULL の定義方法は処理系により決定される。(#undef NULL は合法)
0585デフォルトの名無しさん
NGNGecho ^[[0\;1m
てな感じでechoしよう。^[ は実際は'\x1b'ね。
0586デフォルトの名無しさん
NGNG、、、
0587577
NGNGレスありがとうございます
でも できなかったです
bccがだめなんでしょうか?
0588デフォルトの名無しさん
NGNGWindowsNT,2000,XPを使っているとみた。
0589577
NGNGXPだと色変えれないんでしょうか?
0590親切な人
NGNG追随を許さない、RX-2000�V !!!
注目のオークションにも適用されてるね↓
http://search.auctions.yahoo.co.jp/search/auc?p=RX-200
0591デフォルトの名無しさん
NGNG少なくともエスケープシークウェンスでは無理。
何かライブラリがあると聞いたが。
0592デフォルトの名無しさん
NGNGDOS/Vで使えたっけ?
ANSIsysか何かが必要だった気が。
0593デフォルトの名無しさん
NGNGコマンドプロンプトはDOSではないがね。
0594デフォルトの名無しさん
NGNGLSI-Cとか使いなさい
0595デフォルトの名無しさん
NGNGAny two null pointers shall compare equal.
というISOの規格そのままだと思うが何か?
(もっと細かく言うなら、「どの型のヌルポインタ
も互いに等しい」と書くべきかも知れんが。)
0596デフォルトの名無しさん
NGNG570 名前:デフォルトの名無しさん 投稿日:2002/05/04(土) 15:40
>>569
過去ログ読んでくれ。もうたくさんだ。
571 名前:デフォルトの名無しさん 投稿日:2002/05/04(土) 15:57
次のスレには、ぜひ、NULL、0==var、main()の戻り値については議論しないように書いて欲しい。
572 名前:デフォルトの名無しさん 投稿日:2002/05/04(土) 16:04
>>571
不毛な揚げ足取りはやめましょうとかで良いんじゃないの?w
573 名前:デフォルトの名無しさん 投稿日:2002/05/04(土) 16:10
それぞれの議論へのポインタを置くか、
2ch向けのFAQ書くかだなあ。
十数年前の暇な学生の頃だったらやってたかも。
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNG>584 で終わっているんじゃないの。
0600デフォルトの名無しさん
NGNGというのを作ってみるとか。
で、このスレは廃墟に…
0601デフォルトの名無しさん
NGNGで、このスレはあっちのくだ質のように廃墟に・・・
0602デフォルトの名無しさん
NGNGとか…
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNGしかし、それはcじゃなくてWin32APIスレの方が適切だ
0605デフォルトの名無しさん
NGNG0606603
NGNGとやって表示しようとしたら表示できず、
sprintf(mes,"%s:",a[1].Name);
とやったらOSが落ちました。
なぜでしょう?
0607デフォルトの名無しさん
NGNGmesが不適切の可能性。
a[1].Nameが不適切の可能性。
なめてるのか?
0608デフォルトの名無しさん
NGNGコンセント抜けたんじゃない?
きにするな
がんがれ
0609603
NGNGcharにかえてみたところうまくいきました。
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG領域破壊ですかね?
0612603
NGNGsprintf(mes,"%sのなまえはなんでしょうかね?",a[1].Name);
としたところOSが落ちました。
char mes[256];
aのメンバNameはchar Name[256];
です
0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNGOSは何?
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG2. a[1].Name に228文字以上入ってる。
のどっちかだろう。
0617デフォルトの名無しさん
NGNG本当にその程度で落ちてるなら、確かにOSかえたほうがいい。
0618デフォルトの名無しさん
NGNGきちんと初期化しないとね。
(a[1].Name="aaaa"とかやっていたらわらえるんだが)
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGそれだと確実にNTが落ちるんじゃない?
0622デフォルトの名無しさん
NGNG2chにスレが立っていたのでやってみたら本当に落ちてちと焦った。
0623603
NGNG>>614
Win98です
>>617
画面が真っ白のままなんで,強制終了しました
>>618
多分大丈夫だと思いますが,確認してみます。
char aNameTable[][256]={
"ナナシ","ナナシ","ナナシ","ナナシ","ナナシ"
};
strcpy(a[i].Name,aNameTable[i]);
としています
なんかここがだめそう?
0624デフォルトの名無しさん
NGNG256バイトもいるのかと小一時間・・・
0625デフォルトの名無しさん
NGNGiの値は?
>>624
必要なくても256バイトは取る。これ常識・・・・・・じゃないな。
0626603
NGNGfor文で回しています
for(i=0;i<5;i++){
strcpy(a[i].Name,aNameTable[i]);
}
です
0627デフォルトの名無しさん
NGNGで、配列aの要素は少なくとも5は取っているんだな?
0628603
NGNGsprintf(mes,"%sのなまえはなんでしょうかね?",a[1].Name);
の部分をコメントにして実行したら大丈夫なんですが
0629デフォルトの名無しさん
NGNGでかいなら、再現できる最小を
0630デフォルトの名無しさん
NGNGコンパイラがおかしいんじゃネーノ?
0631デフォルトの名無しさん
NGNG新事実が出てきそうな予感。
0632デフォルトの名無しさん
NGNGおお、地震だ!
0633603
NGNGここに問題があると思うんですが,
sprintf(mes,"%sのなまえはなんでしょうかね?",a[1].Name);
FontData=SetMyFont(255,255,255,"MS ゴシック",18,0);
SetRect(&Src,20,380,470,630);
DrawText(FontData.hdc,mes,-1,&Src,DT_LEFT | DT_NOCLIP | DT_WORDBREAK);
DeleteFont(FontData);
で、SetMyFontでフォントを設定,FontDataで必要な情報を得ています。
0634デフォルトの名無しさん
NGNGsprintfより下の関数がわからん。
他の人頼む。
0635デフォルトの名無しさん
NGNG>>629
0636603
NGNGすんません。OS落ちてました。
なんか実行したら,画面が480*640の状態になって,デスクトップが表示されたままだったんで,
ALT+CTR+DELで再起動していました
0637デフォルトの名無しさん
NGNG縦長やねー
0638デフォルトの名無しさん
NGNGなのですが、いまいち簡潔にまとめて説明することができません。
どこか詳しく説明しているとことかないですか?ここで教えていただけ
るとよりうれしいのですが。
0639デフォルトの名無しさん
NGNGコマンド起動させるだけのプログラム。
0640デフォルトの名無しさん
NGNGかいがら。
以上。
0641デフォルトの名無しさん
NGNGここで問題になっているのは、sprintfでのフリーズだろ?
だったら、それ以前の箇所でマズイ事が起こっているから、sprintfで失敗が起こる。
sprintf以降をさらされてもしょうがない。
原因を特定できない人間が勝手に問題の発生箇所を決めつけるな。
コンパイル&実行出来る最小限のソースを張り直せ
0642デフォルトの名無しさん
NGNGhttp://www.showa-shell.co.jp/
0643デフォルトの名無しさん
NGNGソースあげるかそのまま友達に配るかどっちかにしてくれ。
0644デフォルトの名無しさん
NGNGsprintfよりも前とは限らないぞ。
sprintfが原因で後でフリーズしているのかもしれない。
0645デフォルトの名無しさん
NGNGmyshellとcshllとの違いって何?
0646デフォルトの名無しさん
NGNG誤爆だよね・・・・?
0647デフォルトの名無しさん
NGNGスマソ誤爆デス
>>644
まぁ、確かにそうだね。
sprintfを中心に話題が進行してたんで、
そういうもんだと勝手に思いこんでました
0648デフォルトの名無しさん
NGNGお前の怪しげなプログラムかUNIXで少なからずシェアを持っているシェルかの違い。
0649デフォルトの名無しさん
NGNGためしにさ、
sprintf()の部分を、
strcpy(mes,"あうあうあうあうあうあうあうあうあうあうあうあうあうあ");
とかにしてみると、どうなる?
0650デフォルトの名無しさん
NGNGこちらへどんぞ。
UNIX超初心者専用スレッド Part.2
http://pc.2ch.net/test/read.cgi/unix/1017325687/
0651デフォルトの名無しさん
NGNGシェアって何?
0652デフォルトの名無しさん
NGNGhttp://dictionary.goo.ne.jp/cgi-bin/ej-more_print.cgi?MT=share&ID=EJ-277600.txt&sw=0
0653デフォルトの名無しさん
NGNG共有する。
0654デフォルトの名無しさん
NGNGhttp://www.kfc.co.jp/
0655デフォルトの名無しさん
NGNG?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
0656603
NGNGjpgをzipにかえてください。
ttp://sylphys.ddo.jp/imgboard/img-box/img20020505000221.jpg
0657デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNGVCスレに逝け。
0659デフォルトの名無しさん
NGNG解凍すると0バイトの"WINDOWS 98"というファイルが出てくるけど?
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGシェルの次はカーネルだろ
0662デフォルトの名無しさん
NGNGそこまで読めるかヴォケ!
0663603
NGNGttp://sylphys.ddo.jp/imgboard/img-box/img20020505001003.jpg
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNGプロジェクトを全てアップしたのかよ!
いいのか?
0666デフォルトの名無しさん
NGNGワラタ
0667603
NGNGこれが正解です。今度はlzhに変えてください。
0668603
NGNGこっちです
ttp://sylphys.ddo.jp/imgboard/img-box/img20020505001300.jpg
0669デフォルトの名無しさん
NGNGDirectXでバグ持ちか。
現在Win長期間労働記録更新中なんで、試す気にならない。
バグ取りは親切な人に任せとけ
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG削りすぎたようです。なかみはこれです。
#ifndef _CYARADATA_H_
#define _CYARADATA_H_
typedef struct{
char Name[256]; //名前
int MaxHp; //最大HP
int MaxWp; //最大WP
int Hp; //HP
int Wp; //WP
int Lev;
int Ata;
int Def;
int Ex;
int NextEx;
int Mov;
int Waza_Max;
POINT Pos;
int Type;
int IdouFlg;
int Koudou;
}PLAYER;
#endif
0673603
NGNG申し訳ないです
今回は無圧縮です
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG人に見てもらうんだから。
0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNG0680デフォルトの名無しさん
NGNG使っていないなら書くなよ(T_T)
0681デフォルトの名無しさん
NGNGPLAYER の定義箇所どこ〜〜〜?(泣
0683デフォルトの名無しさん
NGNG>>672をCyaraData.hに書くんだって。
ところで、またまたヘッダーファイルがないって言われたよ(T_T)
0684603
NGNG0685603
NGNG#include <windows.h>
#include "Input.h"
#include "CyaraData.h"
だけでOKです。
>>684
寒いから早く寝ろ
0686デフォルトの名無しさん
NGNG0688603
NGNG0689デフォルトの名無しさん
NGNG< 5 の方のチェックがどこにもないので、キーを押しまくったら
すぐオーバーしそうだけど。そのせいじゃない?
つーかこの、Player[SelectSuu+1] 鬼のような+1の連発は止めんか?読みにくい。
0691デフォルトの名無しさん
NGNG偽者はだまってろ。
0692デフォルトの名無しさん
NGNGそんなOS使うなとか言わないでね
0693デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNGとりあえず、問題無いとこは置いておこう。
0696デフォルトの名無しさん
NGNGがんがれ。
完成したら、教えてね。
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG実行したらWindowsの色設定が勝手に変わったぞ、おぃ
0699デフォルトの名無しさん
NGNG勝手にNortonの保護がoffになったし。
どっかで悪さしてねーか?
0700
NGNG書いた場合
short des;
A案
des = souce <<4 >>4 // と書いたらコンパイラの最適化で無視されて値変わらず
B案
des = souce <<4; // と2段に分けたら正常に通ります
des = des >>4;
聞きたいのは、これに最適化を書けた場合、やっぱり無効化されちゃいますでしょうか?
つーか こーいう書き方ってどうよ?
temp = souce <<4
des = temp >>4
と書けば最適化の影響は受けないけど、 読む人に不親切なコードでしょうか?
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGdes=(src<<4)>>4;
で出来るかも。
同じ状況の時、これで解決した事有る。
0703デフォルトの名無しさん
NGNGが
10001111_1111111
にならない?
0704デフォルトの名無しさん
NGNG符号拡張は、MSBを拡張ビットすべてにコピーしないといけないんじゃないか?
分岐なしで出来るのか不明。
0705デフォルトの名無しさん
NGNG主旨でしょ
0706デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNGあひゃ(゚∀゚)
0709デフォルトの名無しさん
NGNGむ。
val = ((short)(inval<<4))/16;
これでオッケーかと。コンパイラがidevじゃなくて大抵sar使ってくれます。
0710デフォルトの名無しさん
NGNGdivダタ(;´Д`)
0711デフォルトの名無しさん
NGNGreturn n & 0x800 ? n | 0xf000 : n;
0712デフォルトの名無しさん
NGNGいや、それ確かにifは使ってないけど・・・
0713デフォルトの名無しさん
NGNG大抵って・・・・
0714デフォルトの名無しさん
NGNG少なくともVC++6ではsar使ってくれましたです。ハイ
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNG自信無いけど…
0717探しています
NGNG0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNGシフトの動作が実装依存だから、100点ではない
0720デフォルトの名無しさん
NGNG0721720
NGNG0722700
NGNG>>707でいいみたいですねー
と思ったら、ヤパーシダメなケースもあり?
つーか、負数が2の補数でない環境なんてあるんでしょうか?
あとシフトの動作が違うとか.… カナーリ特殊ですよね?
0723デフォルトの名無しさん
NGNG符号付き右シフトの前に、左シフトでオーバーフローする可能性がある。
未定義動作。そこまで気にするなら716のような方法でやるんじゃないか?
716のコードはなんか間違っているような気がするけど。
>>722
規格を読むことを勧める。
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNGdst = ( 2048-src > 0 ) ? src : src-4096 ;
0728デフォルトの名無しさん
NGNG実装依存だよ。K&Rを読もう
0730デフォルトの名無しさん
NGNG承知のうえで使うのはアリなんじゃないの?
0731デフォルトの名無しさん
NGNGここはCのスレだから
0732デフォルトの名無しさん
NGNGではどうかな?
適宜キャストしてね。
でも、実際に自分が使うとしたら、処理系依存に目をつぶって
>>707あたりを使うと思うけど。
0733デフォルトの名無しさん
NGNGdst = src - (( src & 0x0800 ) << 1 ) ;
0734デフォルトの名無しさん
NGNG>>700
>A案
>des = souce <<4 >>4 // と書いたらコンパイラの最適化で無視されて値変わらず
>B案
>des = souce <<4; // と2段に分けたら正常に通ります
>des = des >>4;
>聞きたいのは、これに最適化を書けた場合、やっぱり無効化されちゃいますでしょうか?
何でA案は試してるのに、B案が無効化されるか試さなかったんだ?
つーか、やっぱりネタか?
0735デフォルトの名無しさん
NGNG理解を深めたいかのどちらかだろ。
コンパイラのバグをつつくというのもあるけど・・・
0736デフォルトの名無しさん
NGNG100といれれば3を返すような関数が作りたいのです。
お忙しい所、大変申し訳ありませんがどなたかご教授ください。
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNG現役なのにすっかり忘れてましたー(;´Д`)
ありがとうございます。
試してみます!
0739デフォルトの名無しさん
NGNGint keta(int num)
{
int n = 1;
while ((num /= 10) > 0)
++n;
return n;
}
ただし正の数のみ
0740デフォルトの名無しさん
NGNG0 および負数の扱いはどうするんだ ? (>>739 だと 0 の時は、0 が返る
が良いのか ? (まあ、正数のみと言ってるからいいか...。))
>>737
間違ってるぞ。それだと、100 の時に 2 が返るぞ。
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGいや、最初に n=1 してるから num==0 だとしても1が返るんじゃないか?
0743デフォルトの名無しさん
NGNGint keta = (int)log10(num) + 1;
だね
0744デフォルトの名無しさん
NGNGstrlenとか
0745デフォルトの名無しさん
NGNGあれだけ変換のバリエーションを持ちながら、最後に書き込んだ文字数を返すなんて凄すぎます。
ではまた(^-^)/~~
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNGstrlen()
0748デフォルトの名無しさん
NGNG左シフトはオーバーフローしないのか。間違い書いてスマソ。
0749740
NGNG合ってるわ、ごめん。なんか勘違いしてた。
>>745
VC++ のライブラリソース見ると、printf() の下請け関数 output()
だね。UNICODE 対応などもあって実に 670 行もあるぞ。
0750デフォルトの名無しさん
NGNGsscanfもわすれずに。
0751デフォルトの名無しさん
NGNGをB=の形にするには、どうしたらいいでしょうか?
0752デフォルトの名無しさん
NGNG質問の意味が不明。
0753デフォルトの名無しさん
NGNG丸一分間じっくり眺めたんだけど...
0754デフォルトの名無しさん
NGNGA+B & 0xFF = C
B = C - A & 0xFF
???
0755デフォルトの名無しさん
NGNG&0xFFした時点で上位が失われてるから、
そうゆう意味でB=にするのはむりですよね?
結局どういう質問なんだかむしょうに知りたくなってきた。
0756デフォルトの名無しさん
NGNGreturn num % 10 ? keta(int num % 10) + 1 : 1;
}
0757デフォルトの名無しさん
NGNGが
(A+B)&0xFF==0x00
と仮定して
B=0-A
の時なら成立するって事では?
0758デフォルトの名無しさん
NGNGsize_t が妥当かと
って、その前に虫々やん
0759デフォルトの名無しさん
NGNGketa(num, 1);
}
int keta(int num, int i) {
return num % 10 ? keta(num % 10, i + 1) : i;
}
推奨 -O4
0760デフォルトの名無しさん
NGNGすごくくだらない質問です。
C++ と VisualC++ は同じ言語ですか?
コンパイラのソフトは一緒ですか?
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGC++ : 日本語
Visual C++ : 関西弁
(別に「関西」に意味はなし。)
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGあなたは今、差別を行いましたね、差別を。
差別差別差別。
あ、社民党から電話なので、また明日。
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG0770767
NGNG0771デフォルトの名無しさん
NGNGあなたは今、
戦う人を勝手に妄想していますね?
妄想してますね?
0772デフォルトの名無しさん
NGNGアイヌ、アプサラスのテストに行って参ります!
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG標準マクロが定義されている文脈では、そのマクロを
#undefしたり#defineしてはいけない。
例えば、NULLを定義するへッダをインクルードしたとき、
NULLを#undefしたり#defineすると未定義動作になる。
例外として、標準関数と同じ名前のマクロと両方が定義
されている(かもしれない)とき、「マクロじゃない方を
確実に使いたい」ために#undefするのは許されている。
また、
最初の1文字がアンダースコア、2文字目が大文字
最初の2文字がアンダースコア
の名前を#defineしたり#undefすると、常に未定義動作と
なる。
0776デフォルトの名無しさん
NGNG-O4の意味が分からんのでネタだと思うが一応…
#define keta(s) neta( 0, s )
size_t neta ( size_t size, int num ) {
return ( size++, num /= 10 ) ? neta ( size, num ) : size ;
}
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGならマ板でやってください。
0779初心者にもなってない
NGNGオススメはなんでしょうか?
できれば評判のいい物を買いたいので・・・
0780デフォルトの名無しさん
NGNG推薦図書/必読書のためのスレッド
こっちいってください>>779
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNGC本、古臭いK&Rいつまでも持ち上げるなヴァカ
こっちにいってください(藁>>779
0783デフォルトの名無しさん
NGNG林に倉・・・・
じゃあぼーよーはいいんだな?
0784781
NGNG0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNGのように文字列や数字をくっ付けるにはどうすればいいのでしょうか?
0787デフォルトの名無しさん
NGNG意味わからん
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG"ABC" "DEF"
0790デフォルトの名無しさん
NGNGstrcpy
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGstrcat
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNG今月の日系ソフトウェアを読んでいるのですが、
構造体は、メンバ変数のサイズの合計とトータルのサイズが
違う場合があると書いてあるのですが
強制的にあわせるコーディング方法はありますか?
または、コンパイルオプションなどで指定するのでしょうか?
なにとぞご教授ください。
0795デフォルトの名無しさん
NGNGひろゆきってたまーに驚く程幼稚なセリフ真顔で吐くんだけど、いったいどういう
青春を送ってきたのだろう?
普通に成長を遂げた人間であれば赤面してしまうような恥ずかしいセリフ
82 :参加するカモさん :01/12/13 15:02
なんとなく言ってることわかる。
俺もひろゆきと何回か話したことあるけど、大昔のドラマでも見てるような気になった
95 :参加するカモさん :01/12/22 16:35
飲み会になると、必ず「遅刻」の話を得意気に語りだすけど、ひろゆきって遅刻することかっこいいと
思っているのかな?
回りの人間は苦笑するしかないけど、この人やっぱり幼稚だと思う
0796794
NGNGそのままmemcpyで構造体にコピーできたら
便利なんですけど、メンバ変数に隙間ができると
それができないですよね?
どうしたらよいでしょう?
0797デフォルトの名無しさん
NGNG好きなほうを選ぼう
1.gccとか、コンパイラのオプションで隙間をつめるオプションをつける。
バウンダリの問題が発生するかもしれないけど、知らん。
2.固定長のレコードを吐く人は構造体の先頭アドレスからsizeof分吐くようにする。
書き出しと読み込みのコードを統一管理できなきゃダメだが。
0798794
NGNGありがとうございます。
書き出しのほうはいじれないので1しかないです。
バウンダリの問題とはどのようなものでしょうか?
0799デフォルトの名無しさん
NGNG処理系依存になるけどかならず #pragma pack みたいなので
構造体のパック方法を統一しておこう。
整数型とか、エンディアンが異なると死ねるけど、
同じコンパイラ・同じ環境で動かすならこれで十分。
0800794
NGNGムムッ!!
エンディアンという問題もあるんですねー
実はVCでコーディング中なんですけど
動かすのはUNIXなんです。
こりゃーやばいっすねー
0801デフォルトの名無しさん
NGNGhttp://isweb3.infoseek.co.jp/play/ayusya/ProgramAlgorithm.html
こことか参考になるのか?
"構造体のアライメント"でMSDNから調べてみるとか。
よくわからんけど。
0802デフォルトの名無しさん
NGNGまーどうにもならないんだったら、ちまちま手作業でメンバに書いてけ。確実だ。
はい次
0803デフォルトの名無しさん
NGNG32bit型データの読み書きをするとき必ずアドレスが4で
割り切れることにおいとかないとプログラムが止まっちゃうような
CPUもあるからね。
pack(2)とかしたとき、
struct foo {
INT32 a;
INT16 b;
};
の構造体を連続したメモリに配置すると、
奇数インデックスの要素のa が、4で割り切れないアドレスに配置されちゃうことがある。
これをfread(buf, sizeof(foo), n, fp);
なんかで読み出して
buf[1].a とかをアクセスすると死んじゃうわけ。
対策としては一構造体ずつ(隙間を埋めつつ)読み込むことにするか、
一気に読んで、アクセス前に構造体を安全なメモリにコピーする、
もしくは構造体の末尾にダミーのデータを入れて、想定できるすべての環境で
問題が発生しないようなサイズ(4の倍数とか8の倍数)にすること。
0804デフォルトの名無しさん
NGNGえんでぃあんはこんぱいるオプションか、または根性で乗り切れ。
つーかCPUは何と何だ?
0805デフォルトの名無しさん
NGNGいろんなプラットフォームにまたがって、かつ扱うデータサイズがそれほど
大きくないならテキストではき出すのが一番楽だよ。
XMLとかつかってもいいけど、タダのCSVで済むならそうしたほうがいい。
0806デフォルトの名無しさん
NGNGコンパイラによってはアラインメントを詰められないものもあったと思うよ。
VCだと #pragma pack でOKだけど、これはコンパイラ依存。
UNIXで使うコンパイラで使える技かどうか確認されたし。
0807デフォルトの名無しさん
NGNG改行コードとか。ま、どうにでもなるか。
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG0810794
NGNGとりあえず、今顔面蒼白になってます。
まだちょっとしかコーディングはしてなかったけど
このままやってたらと思うと恐ろしいー!!
一から考えなおします。
0811デフォルトの名無しさん
NGNG{
printf("はじめてなの\n");
}
というのは可能でしょうか?
0812デフォルトの名無しさん
NGNG推奨はされない。
0813デフォルトの名無しさん
NGNG{
static int first_time = 1;
if ( first_time ) {
first_time = 0;
printf("やさしくしてね\n");
}
}
0815デフォルトの名無しさん
NGNGif文以下を3項演算子使って1行にしてみて
0816デフォルトの名無しさん
NGNGコンパイラの問題か。。。?
#include <stdio.h>
int main(void){
int n = 1;
printf("%s\n", *(char *)&n ? "little endian" : "big endian");
return 0;
}
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNGただの商用Cコンパイラか GNUのコンパイラ集のフロントエンドかのちがい。
0819デフォルトの名無しさん
NGNGということは、機能的な違いとかいうのはないんですか?
0820デフォルトの名無しさん
NGNGある。
0821デフォルトの名無しさん
NGNG811より退化しているな。
0822デフォルトの名無しさん
NGNGその「ただの」は単なるという意味ですよね?無料じゃないですよね?
商用コンパイラって言っているし・・
0823デフォルトの名無しさん
NGNGccつっても、いろいろあるんだけど、何が知りたいのかね?
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNGって本見なくても書けるようになったYO
0833
NGNG./. ..:::/..: ...::;:::::: ::::;::::::::::::::::::..::..::..:::;,、::::::;i;::::::::::::::::\
l:::::l:::::/:::: ..:::::;;'l::::::::;'l::l::::::::;'llll::lll;,::::::::::::::;l::ll;:::lll;;::::::::::::::::/
l::;ll::::;'::;l::::::::::;;'llll:::::;;'lll::l:::::::;'ll' l:lllllll:::::::::::::l.ll:llll::llll;;::::::::::/
l::lll::::l:::ll::::::;;'llllll:::;;'lllll;;ll:::::;'lll' llllllllll::::::::::/ lll:lllllllllll;::::::/
l::lll:::l:::lll::::;;'lllllll:;;'llllllllll l::;'lll',, lll lllllll;:''''/" ll llllllllllll;::::/
l::ll:::l:::llll:::;;'llllllllllllllll,,/'''"llll' ll lllllll::/ リ llリllllllll::/
l::ll:::ll;lllll:llllllllllllllllll''/ l! .ノ .lllllllレ,,;ii!!ii;; リ l lllll:/
l::l;:::llllllllllllllllllllllllll / ,,;;iill:: lllll '" l ノ .llll/
l;::::lllllllllllllllllllll `ll._,;;iii!!''゙ リ .l レ
.,'::::lll、⌒゛llllllll "'' > l
;::::::lllll、 ,,-;lllllll ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
;::::::::lllllll\._llll::l、 ー' / < Cなんて、覚えてもクソだ〜
.;:::::::::lllll:llllllllllll:l::l\. /.ll::; \_________
;:::::::;:::llll::lllllllllll:l::lllllll` : /:l ll:::;
;::::::::l::::lll:::llllllllll::l::lllllll 、、. _,,/l::::::l lll:::;
,:::::::::ll:::::l::::::llllllll::l::lllllll lllllllllll;:::::;:llll::l:;
,:::::::::lll:::::::::::::::llllll::l::llllll llllllllllll;::::llllll::l:;
.,::::::::::l':::::::::::::::;'lllll::l::llllll lllllllllllll;:::llllll::l:;
.,::::::::::::::::::::::::::;;'lllllll::l::llノ llllllllllllll::llllll::l:;
;;::::::::::::::::::::::::;;'lllllllllll:/ l \lllllllllllll:::l:;;
0834デフォルトの名無しさん
NGNGあなたの大好きなVB、後半年もすれば消滅しますよ。
0835603
NGNG例 ShowText(ColorR,ColorG,ColorB);
ShowText(255,255,255);
これを#defineを使って,WHITETEXTやREDTEXTなどとし,
ShowText(WHITETEXT);
として渡したいのですが,どのようにしたらいいでしょうか?
今は,
void ShowText(intColorR,int ColorG,int ColorB)
{
SetTextColor(hdc,RGB(ColorR,ColorG,ColorB));
}
というふうに使っています
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNGsprintfやwsprintfとどう関係あるんだろう・・・名前の消し忘れか?
#define WHITETEXT 255,255,255
でいいんじゃない?
0838デフォルトの名無しさん
NGNG列挙型って言うのがあるけどこの場合は使えないからそれでも良いかなと。
出来ればJavaのColorみたいなクラス作ってstaticメンバ変数で表現するのが良し。
class color
{
public:
static int Black = 0;
static int White = 255;
}
〜
SetTextcolor(color.Black);
そこまでしなくてもC++は#defineとするよりconstを使う方が推奨されてた気がする。
0839デフォルトの名無しさん
NGNGここはCスレ
0840デフォルトの名無しさん
NGNG>>839
ワラタ
0841デフォルトの名無しさん
NGNGおおボケでした。去ります・・・。
0843デフォルトの名無しさん
NGNGコンパイルのみというのはできるのですが。
0844843
NGNGdoubleとかlong(使う構造体のメンバん中で一番長いやつ)に合わせて
charとかshortとかで穴を埋めるのが一般的
構造体でキャストしてかぶせてmemcpyっていうのが楽なのはたしかだけど、
移植性を考えると、穴とか考えずに、
設定するときに一々メンバにアクセスしてやるのが筋と思う
0846デフォルトの名無しさん
NGNG-E
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG起こすハードウェアもあるから、かならずしも構造体をパックできるわけ
ではないです。
0850デフォルトの名無しさん
NGNGpackedって無かったっけか?Cって。
0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGレイアウトを制御することはできぬ
0853デフォルトの名無しさん
NGNGなんの、この組み込み回路ではCがまだまだ現役だ。
そしてその回路を付けたガンダ(略
GP-01FbのファームウェアもCで書かれていたよ。
って言うか一昔前のアニメのPCのディスプレイにはよくCのリストが写ってたね。
0854デフォルトの名無しさん
NGNGダイナマンではMSXのソースが流れてた。
SCREENやDEFINT A-Z、OPEN"GRP:"、LINE、などなど
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNG{
int i=0,j=0;
while(str1[i]==str2[j]){
if(str[i]=='\0')
return 0;
i++;
j++;
}
reutrn(i-j);
}
この関数の返す値が必ず0になります。
どうしてでしょうか?
環境はLinuxです。
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG質問する前に気付かんか?
本当に君が書いたソースか?
0859デフォルトの名無しさん
NGNGたぶんあなたがやりたい事は
return str1[i] - str2[j];
0860デフォルトの名無しさん
NGNGif(str[i]=='\0')
のstr[i]ってどこからでてきたの?
0861デフォルトの名無しさん
NGNGだがたぶん>>856が*本当に*やりたいことは
if(str1[i]=='\0')
と
return (str1[i] & 0xff) - (str2[j] & 0xff);
0862デフォルトの名無しさん
NGNG即レスthx!
参考書みながらレポート課題解いてます。
内容あんまし理解してません。すみません(^_^;)
>>860
str1[i]のまちがいですね・・・・(汗
0863デフォルトの名無しさん
NGNG課題は別スレに逝け。
0866デフォルトの名無しさん
NGNG宿題、手伝おっか?
http://pc.2ch.net/test/read.cgi/tech/1011722640/
0867856
NGNG次から宿題スレで聞きますね。
0868デフォルトの名無しさん
NGNG出来れば次からは聞かずに解決してホスィ。
0869デフォルトの名無しさん
NGNG渡す引数に気を付ければ良いだけだが
わざわざ、100という定数を使ってるのだから
100字以上の処理はして欲しくないなと思ったり
NULLの時の処理も考えた方が良いのではないかと思ったり
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNGmallocの方がベターだが。
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG不思議だね
0878デフォルトの名無しさん
NGNGmallocではセグメト分割を考慮したメモリの割り当てが行われるのかも。
配列だとそれができないとか…
0879sage
NGNG誰かかわりにやってくれ。
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNGだから、少し無駄でも1024*1024*10のように
Linuxにとって読み易い数字にしてやれば、エラーが少なくなりますよ
0883デフォルトの名無しさん
NGNGパソコンなめんな。
0884デフォルトの名無しさん
NGNG禿胴
>>882はDQNのレベルが神域に達しているな。
0885デフォルトの名無しさん
NGNGネタだと思うが。
と言ったら>>885=>>882と言われてしまうのだろうか。
0886デフォルトの名無しさん
NGNG実は>>882-884は全てネタという罠。
0887デフォルトの名無しさん
NGNG必死だな(>>885は大人の意見なので除外)。
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG同意
0890デフォルトの名無しさん
NGNGプログラミング言語Cって本をを買えば読めるように
なりますか?
0891デフォルトの名無しさん
NGNG書かなければ読めない。
本を丸暗記なら別だけどな
0892デフォルトの名無しさん
NGNGプログラミング言語の学習は、外国語の学習と同じ。読み、かつ書かなければ
覚えられない。
0893デフォルトの名無しさん
NGNG百聞は一書きにしかず、てなところ。
0894デフォルトの名無しさん
NGNGせめて意味だけでも教えてください
0895デフォルトの名無しさん
NGNGヘルプに載ってないの?
0896デフォルトの名無しさん
NGNGまぁ普通は
int *p;
*p = 100;
とかやった時だね。ポインタがNULLのままで初期化されてないんだよ。
0897896
NGNG突っ込まれる前に訂正。
決められた配列の範囲の外のデータを操作しようとした、ということ。
int array[1000];
hoge = array[3000];
とかやると起こる。
0898デフォルトの名無しさん
NGNGstatic char a[10000000]; とでもしてみろ。
というか、過去ログ嫁。
0899デフォルトの名無しさん
NGNGそれだとコンパイル時に警告がでるはずだから、
普通は配列の大きさを越えて書き込んだ時だろ。
あとは二度freeとか。
0900899
NGNG0901894
NGNG当方Linuxでプログラミング中です。
配列の操作はしていないループの中でエラーが出ているようです。
ファイルアクセス中またはファイル終端時が問題のようです。
午後から、もうしばらく頑張ってみますが、
それでも分からない時は、また質問にきます。
よろしくおねがいします
0902デフォルトの名無しさん
NGNGだからスタックオーバーフロウだってば!
あなたのシステムではそんなにスタックにつめないの!
0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNGStack Overflowって変数の宣言時(領域確保時)に起こるんじゃないの?
0905デフォルトの名無しさん
NGNG他の関数をコールしようとした途端にひっかかる可能性もある罠。
0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNGああそうか。仮引数でアウトってこともあるか。
0908894
NGNGエラーが出ます。
ループ中の処理が終了した時に
Segmentation faultが表示されます。
ファイル操作で上記のエラーが出るということはないですよね?
0909デフォルトの名無しさん
NGNGどこで segmentation fault がでるか調べてこのスレに書きなさい(1問5点)
0910デフォルトの名無しさん
NGNGFILE *fp
が正しく取れているか、クローズしてるか確認しる!
短いソースなら張ってみそ。
0911デフォルトの名無しさん
NGNG0912894
NGNGwhile( feof(fp) == 0 )
{
printf(" ");
while( (c = getc(fp)) != ',' )
{
name[i] = c;
printf("%c",name[i]);
i ++;
}
printf(" ");
fscanf(fp,"%f%*c%f%*c%f%*c%f%*c%f%*c",&eigo,&sugaku,&kokugo,&rika,&syakai);
printf(" %.0f",eigo);
printf(" %.0f",sugaku);
printf(" %.0f",kokugo);
printf(" %.0f",rika);
printf(" %.0f",syakai);
/*個人平均点*/
person_average = eigo + sugaku + kokugo + rika + syakai;
printf(" %.1f\n",person_average / 5);
n ++; //人数加算
/*各教科合計*/
goukei_eigo += eigo;
goukei_sugaku += sugaku;
goukei_kokugo += kokugo;
goukei_rika += rika;
goukei_syakai += syakai;
i = 0;
printf("OK");
}
0913デフォルトの名無しさん
NGNG変数の宣言も見せろYO!
0914デフォルトの名無しさん
NGNG0916915
NGNG○引数が
0917デフォルトの名無しさん
NGNG%*cでホワイトスペース文字を読み飛ばしてるんだろ。
0918デフォルトの名無しさん
NGNGwhile( (c = getc(fp)) != ',' ループの外に
name[最後+1]='\0';ある?
0919デフォルトの名無しさん
NGNGそうなんだ。scanfあまり知らないもので・・・
無知でスマソ
0920デフォルトの名無しさん
NGNGこいつも危ない。cがEOFでないか、確認するように変更。
0921894
NGNGFILE* fp;
//個人データ
char name[50];
float eigo,sugaku,kokugo,rika,syakai;
float person_average = 0;
//計算用
float goukei_eigo = 0;
float goukei_sugaku = 0;
float goukei_kokugo = 0;
float goukei_rika = 0;
float goukei_syakai = 0;
int n = 0;//人数
char c;
int i = 0;
0922デフォルトの名無しさん
NGNGprintf("%s",name)とかputs(name)とかやっているところない?
0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNG一応、ループ中にiが50を超えててないか確認するべし。
実際は文字列?として処理してそうだから49文字を超えないように。
0925894
NGNG遠藤和輝,89,20,100,60,15
田中章三,68,50,73,49,90
小田一正,100,100,30,100,20
今田耕治,90,20,5,90,100
吉井一哉,100,100,100,100,100
野比のび太,0,5,0,4,7
おすぎ,73,45,61,60,58
~
0926894
NGNGそれはありません。
そこには注意しました。
0927デフォルトの名無しさん
NGNG一文字ずつ読み出すのは厄介だぞ。
2バイトめに","があるかもしれない。とか言ってみるテスト。
0928894
NGNG成績表
氏名 英語 数学 国語 理科 社会 平均
遠藤和輝 89 20 100 60 15 56.8
OK 田中章三 68 50 73 49 90 66.0
OK 小田一正 100 100 30 100 20 70.0
OK 今田耕治 90 20 5 90 100 61.0
OK 吉井一哉 100 100 100 100 100 100.0
OK 野比のび太 0 5 0 4 7 3.2
OK おすぎ 73 45 61 60 58 59.4
Segmentation fault (core dumped)
0929デフォルトの名無しさん
NGNGOKの個数が6個。データが7個。
なぜ合っていない?
while( (c = getc(fp)) != ',' ) {
おそらくここで無限ループに近い状態になっている。
もう一度書くが、getc()の値がEOFなのに無理やり続行して
iの値が50を超えていると思うが。
0930デフォルトの名無しさん
NGNGこの手の処理は1文字ずつ読み込むのではなく、1行単位で読み込んで
sscanf()を使う方がいい。
その方が楽だよ。
0931894
NGNGOKの個数が合わないのも原因不明
本来ならおすぎの下にも表示されるはずですよね?
while( (c = getc(fp)) != ',')ですが
これで名前とコンマを区切っているつもりです。
その後の数字データはfscanfで一行だけ取るようにしたつもりです。
やっぱ駄目ですか?
0932デフォルトの名無しさん
NGNGはお勧めできないかな。
fgets()で1行を読み込んで、
それからsscanf()で内容を取り出すようにしたらいいよ。
最初のfgets()でEOFを確認する、と。
がんがってね。
0933894
NGNG最初は一行ずつ読み込んでいたのですが指定がありデータはコンマで
区切れと言われてしまい一行ずつ読み込もうとすると
名前とコンマが一緒に読まれてしまうんです。
0934デフォルトの名無しさん
NGNGいんちきだが、読み込んだ1行文字列をサーチして、
全てのカンマを空白に変換してしまう。
で、その後sscanf()で一発で読み込む、とかはどうだ?
0935894
NGNGそれは以前、試したのですが駄目だと言われたことと
上の実行結果に表示されてるsegmentation faultが
出てきてしまったんですよね。
このエラーだけでも消せないでしょうか?
0936デフォルトの名無しさん
NGNGiが50を超えたら強制returnするようにしろ。
もう書かね。
0937894
NGNG無知な質問で申し訳ないのですがsscanf()の引数は
どのように入力すればよいのでしょう?
0938デフォルトの名無しさん
NGNGカンマでも、こうすれば出来るんじゃないの?
char *s = "aaa,bbb,ccc";
int a[10], b[10], c[10];
sscanf(s, "%[^,],%[^,],%[^,]", a, b, c);
printf("%s %s %s\n", a, b, c);
0939894
NGNG申し訳ありません。
見ていましたが試している途中だったことと
ループの下にも処理があるので迷っていました。
決して無視していたわけではありません
0940894
NGNG%[^,]の後にはsやcなどはいらないのですか?
以前それに近い事を試したのですが無限処理になってしまいました。
0941938
NGNGint a[10], b[10], c[10];
これは
char a[10], b[10], c[10];
こうだった。
>>940
VCで動作確認したら動いてるけど?
(おれもscanf()は使わないんで、自信ないけど)
0942デフォルトの名無しさん
NGNGっていうのを見たんですが、この (void) というキャストは何か意味があるん
ですか?
0943デフォルトの名無しさん
NGNG今回、読み込みにfscanf()を使っているため、
改行が取りこぼされている。なのでfscanf()では
EOFに達しない。したがって、feof()は常に0を返し、
その結果ファイルの終端を検出することができない。
# if (c='\n') puts("\\n");を内側のwhileの中に入れて確認できる
ってとこかな?
0944デフォルトの名無しさん
NGNGlintを騙す
0945 ◆GpSwX8mo
NGNG某大学で物理を勉強してます。
自分は、日本語や数学を使って勉強するように、
C言語でプログラミングすることで波動方程式や熱伝導方程式を
勉強しようと思ってます。
教授の話とかきいてても、何かごまかされたような
気になるし、自分で勉強していてもホントに理解できているのか
よくわかりません。Cでプログラミングし、コンパイルできるようになることで
ごまかしなく方程式を理解できるんじゃないかなと思ったからです。
そこで、教えてもらいたいことは実際に物理に使うような方程式を
プログラミングしているHPを教えてもらいたいということです。
お願いします。
0946デフォルトの名無しさん
NGNGアマゾンへのリンクに個人IDがついてたので削除しました。
どなたかスレ立てよろしく。
------
漏れは38才、21年間プログラムを一生懸命作ってきた。
いろいろな言語を極めたが、一番手になじむのはCだった。
Cのことならぜんてわかるから、疑問な点があったら漏れに聞け。
だが、いちいちFAQに載った質問に応えるほど暇じゃない。
課題丸投げなら別スレにいけ。
・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
・comp.lang.c Frequently Asked Questions
http://www.eskimo.com/~scs/C-faq/top.html
Cプログラマならこれを買っとけ。
・プログラミング言語C(K&Rと呼べば通だ)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
K&Rで挫折するような救いがたいやつはこれでも読め
・作ってわかるCプログラミング(アヒル本と呼べば通だ)
http://dennou.gihyo.co.jp/books/void_c/
http://www.amazon.co.jp/exec/obidos/ASIN/477411328X/
推薦図書/必読書のためのスレッド PART3
http://pc.2ch.net/test/read.cgi/tech/1016722820/
・前スレ C言語なら、俺に聞け! <18>
http://pc.2ch.net/test/read.cgi/tech/1020260813/
0947デフォルトの名無しさん
NGNGコンパイラへのリンクもヨロシク
0948デフォルトの名無しさん
NGNGgcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
------------------------ ライセンスや機能などに問題あり ---------------------
Microsot C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
0949デフォルトの名無しさん
NGNGコンパイラじゃないけど。
http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/prog/progf.html
0950894
NGNG無事解決できました。御足労ありがとうございました。
0951デフォルトの名無しさん
NGNGここはどう?
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/
結局、方程式を理解してないとプログラミングをする事も出来ないような気がするけど…
まあ自分の好きなように勉強しれ。
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGhttp://www.bloodshed.net/index.html
0954デフォルトの名無しさん
NGNG旬を過ぎるとしらけるよね。
0955デフォルトの名無しさん
NGNGNULLとmainの戻り型の議論を禁止しなくていいのだろうか・・・
0956デフォルトの名無しさん
NGNGそれはgccだって
0957デフォルトの名無しさん
NGNG明示的に戻り値を捨てるってことだな。
0959デフォルトの名無しさん
NGNGC言語なら、俺に聞け! <19>
0960デフォルトの名無しさん
NGNGスレ立て乙〜
どもです。m(__)m
0962デフォルトの名無しさん
NGNGどこかで見た覚えのあるトリップだな。
age!
0963デフォルトの名無しさん
NGNG「たらちん」?
「偽下部恵子」?
0968GpSwX8mo ◆GpSwX8mo
NGNG0972 ◆GpSwX8mo
NGNG0973デフォルトの名無しさん
NGNG0991C ◆I1uGveKM
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。