C言語なら、俺に聞け! <28>
レス数が1000を超えています。これ以上書き込みはできません。
0001983 ◆HIHn86y.
NGNG・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
・comp.lang.c FAQ(英語の原文)
http://www.eskimo.com/~scs/C-faq/top.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
推薦図書/必読書のためのスレッド PART4
http://pc.2ch.net/test/read.cgi/tech/1022961238/l50
・前スレ
<26> http://pc3.2ch.net/test/read.cgi/tech/1026048820/
<25> http://pc.2ch.net/test/read.cgi/tech/1024918442/
<24> http://pc.2ch.net/test/read.cgi/tech/1024033400/
<23> http://pc.2ch.net/test/read.cgi/tech/1023024817/
コンパイラなどのリンクは>>2-3 あたり
void日下部氏の激動の半生は過去スレを参照
0002983 ◆HIHn86y.
NGNGgcc
http://gcc.gnu.org/
【Win32用の開発環境のみ。】
gcc-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
【その他】
http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/prog/progf.html
http://www.bloodshed.net/index.html
【注意】
Cmachineは一般的なCと挙動が違いすぎるので動作の保証はできません。
まともな処理系を使いましょう。
0003983 ◆HIHn86y.
NGNG<27> http://pc3.2ch.net/test/read.cgi/tech/1027160374/
0004デフォルトの名無しさん
NGNGカレー
0005ビル・ジョブス
NGNG0006260
NGNG#define PI 3.14 /* 円周率 */
main()
{
float r, S;
scanf("%g", &r);
S = r * r * PI;
printf("%g\n", S);
}
こんな感じのを
*fp使って、ファイルには1から10の数字は与えられている場合どうするの?
面積計算は必要です。
出力は
1 3.14
2
3
・
・
な感じになるようにお願いします
0007デフォルトの名無しさん
NGNGなにが解らないのかもちっと具体的にかきませう
0008デフォルトの名無しさん
NGNGfscanf(fp, "%g", &r);
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG-----
#!/home/foo/bin/prog
aaaa
bbbb
-----
こういう風に起動して、prog(インタプリタ)がコマンド(aaaa,bbbb)を読むた
めにはどうしたらいいですか?
001110
NGNG0012デフォルトの名無しさん
NGNGstdin
001310
NGNGstdin は試したのですが、やり方が間違っているんでしょうか。
-- foo.c --
#include <stdio.h>
int main()
{
char c[1024];
fgets(c, 1024, stdin);
printf("c=%s\n", c);
return 0;
}
----
-- foo.sh --
#!/home/bar/bin/foo
aaaaa
-----
これで aaaa を読み込んで表示させたいのですが、foo.sh を起動するとキー
ボードからの入力待ちになってしまいます。
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGフーリエ変換。
0016デフォルトの名無しさん
NGNG> printf("c=%s\n", c);
system(c);
001714
NGNGもちろんフーリエ変換はやりますが、フーリエ変換をしたあとで、
周波数帯で区切っていくという処理をしたいのです。
0018デフォルトの名無しさん
NGNG人間のカタツムリ管はA/Dコンバータと同等の機能らしいので
取り外して解析してみてはどうです?
0020デフォルトの名無しさん
NGNG単に
空気振動−>電気
ブリッヂでは?
0021デフォルトの名無しさん
NGNGWAVをいじれれば判ると思うが。
0022デフォルトの名無しさん
NGNG周波数領域のデータが得られるんだから後は配列処理だろ。
0023デフォルトの名無しさん
NGNG画像を表示させるにはどうすればよいのでしょうか。
0024デフォルトの名無しさん
NGNGOSと言語と環境とついでにおまえのIQまで全部書いてからもう一度質問しなおせ
0025デフォルトの名無しさん
NGNGえ???
>>10
スクリプトは、#!の行のコマンド名(インタプリタ)に、そのスクリプト自体を
起動したコマンドラインを追加して実行したのと同じになる。
例えば>>13の場合、./foo.sh を実行すると、
/home/foo/bin/prog ./foo.sh というコマンドを実行したのと同じ。
だから、argc, argvで引数を受け取ってそのファイルをオープンしてやれば
いいよ。
0026デフォルトの名無しさん
NGNGOSはWindows
言語はC
環境は…忘れた
IQは127(2年前)
0027デフォルトの名無しさん
NGNG> OSと言語と環境とついでにおまえのIQまで全部書いてから
それよりも肝心なのが
「表示したい画像フォーマットって何?」
じゃないかな?
0028デフォルトの名無しさん
NGNGbmpです。
0029デフォルトの名無しさん
NGNGsetDIBits()。
俺優しすぎ?
0030デフォルトの名無しさん
NGNGところで、ヘッダーファイルは何をインクルードすればよいのですか?
それから、setDIBits(ファイル名);でよいのですか?
0031デフォルトの名無しさん
NGNG(°Д°)ポヵーン
0032デフォルトの名無しさん
NGNG頼むからここに行ってから質問してくれ。
http://www.kumei.ne.jp/c_lang/
それから、すれ違い。ここで質問しる!
Win32API 質問箱 Build4
http://pc3.2ch.net/test/read.cgi/tech/1023361418/l50
0033デフォルトの名無しさん
NGNGここいけ。
第26章 ビットマップ画像の表示
http://www.kumei.ne.jp/c_lang/sdk/sdk_26.htm
0034デフォルトの名無しさん
NGNGいろいろ教えてくれて、どうもありがとうございます。
0036デフォルトの名無しさん
NGNG1Hz で 最大値500、最小値-500 よろしくお願いします。
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNGサンプリング角周波数は?
003936です
NGNGわかりづらい質問で申し訳ありません。
ちと、作ってみました。
#define TOP_VALUE 500
while( 1 ){
radius += 0.064; /* サンプリング周波数に合わせて */
value = sin( radius ) * TOP_VALUE;
}
こんな感じで大丈夫ですか?
004036です
NGNG#define TOP_VALUE 500
double value, radius=0.0;
while( 1 ){
radius += 0.064; /* サンプリング周波数に合わせて */
value = sin( radius ) * TOP_VALUE;
}
0041デフォルトの名無しさん
NGNG004236です
NGNG関数ってC言語の関数ですか?
それとも三角関数ですか??
0043デフォルトの名無しさん
NGNGで?>>40じゃ駄目なの?
試してないけど動くんじゃないの?
0044デフォルトの名無しさん
NGNG>>36の言う「ポイントを出したい」ってのは、
「波形をプロットしたい」という意味ではないかと思ってみたり。
0045デフォルトの名無しさん
NGNGますます関数だな。
0046デフォルトの名無しさん
NGNGちゃんと名前をネタにしてくれ。つまらなくても何でもいい!
「983 ◆HIHn86y.」←こりゃないだろ・・・
0047デフォルトの名無しさん
NGNGdouble a;
short b;
a = 0.29;
a = a * 100;
b = a;
printf("%d\n", b);
ってやると28と表示されます。
29と表示させるにはどうしたらよいでしょう?
0048デフォルトの名無しさん
NGNG丸め誤差、切り捨て誤差、等々を調べる。
0049デフォルトの名無しさん
NGNGdouble型からshort型に変換されたからデータが失われているのでは?
0050デフォルトの名無しさん
NGNGstdio.hって、なんて読むんだ!
ストヂオ ドット エッチ?
0051デフォルトの名無しさん
NGNG>>49
ども!
はい。意味はなんとなくわかっております。
こういう場合の定石などありましたら教えていただきたいのです。
例えば、0.1を足しとけ。みたいな。
0052デフォルトの名無しさん
NGNGストゥドィオ.エチー
0053デフォルトの名無しさん
NGNG俺は
スタンダード・アイオー ドット エイチ
って読んでる。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNGとりあえず、整数化する時に 0.5 足しとけ。
0056デフォルトの名無しさん
NGNGshort b;
をdouble bにしてみろ。すると、-1になるだろ。
だから、29より1少ない28が出力される。
0057デフォルトの名無しさん
NGNGダメプログラマでは?
0058デフォルトの名無しさん
NGNGそもそもstdio.hとは
スタンダード・インプット・オウトプット.ヘッダーファイル
の略なのだよ。
つまり、stdio.hには正式な読み方はない。
すなわち、自由に発音して結構ということである。
0059デフォルトの名無しさん
NGNGおー。すごいっす。
ひょっとして、これは大きなヒントですか?
ちょっとかんがえてみます。
0060デフォルトの名無しさん
NGNGスケベ・タコ・ダメ人間・インポ・オナニー.変態
の略かと思ってた世
0061デフォルトの名無しさん
NGNGだましましたねー
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGでいけるよ。
0.29 と 100は桁が違いすぎる。
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNGつまんね。
0066デフォルトの名無しさん
NGNGうがー。感動しますたー
ちょっといろんな数字で試してみます。
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG>>60 以外なら、大体通じるよ。
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNGハァ――――――(゚Д゚)―――――?
0071デフォルトの名無しさん
NGNG0.47で破綻しますた。
0072デフォルトの名無しさん
NGNG具体的にはどのようなことでしょうか
0073デフォルトの名無しさん
NGNG機械語
0074デフォルトの名無しさん
NGNG2進数、16進数、論理演算、IOポート、割り込み、etc...
0075デフォルトの名無しさん
NGNG海馬の奥から呼び覚ましてくれてありがとう(w
0076デフォルトの名無しさん
NGNGC++
0077デフォルトの名無しさん
NGNG用途による。
0078デフォルトの名無しさん
NGNG最低でも、WindowsXPを設計できるぐらい、コンピュータの構造を理解していないと
文字を画面に出力することは出来ないな。
0079デフォルトの名無しさん
NGNG最低でも、モニターをチンカスで代用できるぐらい、コンピュータの構造を理解していないと
文字を画面に出力することは出来ないな。
0080デフォルトの名無しさん
NGNG最低でも、ダスキンにフィルターを交換してもらえるぐらい、コンピュータの構造を理解していないと
文字を画面に出力することは出来ないな。
0081デフォルトの名無しさん
NGNG最低でも、PCとCRT・LCDの構造について電気電子学・情報科学的に理解していないと、
文字を画面に出力することは出来ないな。
0082デフォルトの名無しさん
NGNG同感。例えば、マザーボードに乗っているチップセット名だとか。
0083デフォルトの名無しさん
NGNGその中のトランジスタ数とか。
0084デフォルトの名無しさん
NGNGRGBの信号だとか。
0085デフォルトの名無しさん
NGNG最低でも、童貞卒業しないと
文字を画面に出力することは出来ないな。
0086デフォルトの名無しさん
NGNG女にはできないのか?!
0087デフォルトの名無しさん
NGNGまあ、そんなに心配するなよ。
童貞用の言語、BASICがちゃんと用意されているから。
0088デフォルトの名無しさん
NGNG女は生まれながらにして、出力できる。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG「最低!! 信じてたのに私をだましたのね!!
私はこれからどうやって生きていけばいいの?
責任とってよ!!!!」
と言われる位コンピュータの構造を理解していないと
文字を画面に出力することは出来ないな。
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG俺もこの問題で昔悩みました。
結局、doubleは使わず、固定小数点形式、と考え
100倍に桁上げて整数演算することで逃げたーYO!
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG10ポート。
1ビットのことだ。
0095デフォルトの名無しさん
NGNG違うな。
I/Oポート、は「エロポート」の事にきまっとる。
0096デフォルトの名無しさん
NGNG0097 (-_-)
NGNG| リッタイテキニ .| | リッタイテキニ
| ミエル? | | ミエル?
(-_-) | (-_-)
(∩∩)───── .| (∩∩)─────
/ | /
/ | /
/ | /
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGCスレの序盤は何故いつもネタスレ化するんでしょうか
0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG角度とかを理解してないと
文字を画面に出力することは出来ないな。
0103デフォルトの名無しさん
NGNG私のは90度で左曲がりですが何か?
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG最近Javaを使ったWebAPPを作成しているのですが、Excel/Wordを吐き出したい
という要望があげられました。
普通どうするのでしょうか?
私なりにJava-JNI-DLL-(ExcelOLE)を呼び出すと考えたのですがDLLって
基本的にVBのActiveXDLLしか作ったことがないんです・・・
そもそもDLLってAPI DLLとActiveXDLLとあると聞いたのですがこの辺詳
しい書籍とかあるのでしょうか?VC++で作ろうとするとテンプレートで
MAINDLLだかってメソッドが初期で用意されるんですが、この意味もいま
いち謎でして・・
それとも根本的にJava−JNI-DLL(ActiveXDLL)-(ExcelOLE)って不可能?
もっともWindows環境でなければ使えない、Javaで.NETソリューションを
扱うなといわれそうですが
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGWindows環境でなければ使えない、Javaで.NETソリューションを扱うな
0108デフォルトの名無しさん
NGNG0109超初心者
NGNG0110デフォルトの名無しさん
NGNG一回本見ながらでも書いて、あとはそれを利用すればいいんでない?
0112デフォルトの名無しさん
NGNG全てのアルゴリズムを丸暗記する必要はなくて、どういうときにどういうアルゴリズムを
使うべきなのか、ってのをきちんと覚えておけば、あとは必要になったときに
書籍やらネットやらで調べればよい。
まあ、主要なアルゴリズは覚えといたほうがいいかもしんないけど
0113じゃかーた
NGNGhttp://www.terra-intl.com/jakarta/poi/
ネタにマジレスかこわるい。
0114超初心者
NGNGありがとうですm(__)m
あと、本読んでるだけだと、やっぱり上達しないですよね?
プログラミングをスラスラ打てる方は、どうやって勉強したんですか?
是非教えて下さいm(__)m
0115デフォルトの名無しさん
NGNGんですが(あるいは入れるときに順番とおりでもいいです。)、調べてみると色々やり
かた(アルゴリズム)があるみたいですが、基本的にソートして全部を舐めないといけ
ない。これはデータの個数が増えると処理時間も増えてしまいます。とにかく軽くでき
ないでしょうか?malloc/freeをその都度しないといけない線形リストもいや〜んな感じです。
ちなみにキューに入れるデータの個数は50個固定だとします。
0116デフォルトの名無しさん
NGNGやっぱ体(手動かして)で覚えるしかないんじゃないかな。
少なくともおれは読むだけでは吸収できない。
>115
50個程度ならあまり違わんと思うが、
配列でやりたいなら、ヒープがいいんでない?
0117116
NGNG0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNGアルゴリズムは別に覚える必要はあるまい。
「ああいうのあったな」というのと、それが載ってる本さえ覚えておけば。
試験じゃないんだから、本見てプログラム書いたって誰もカンニングとは言わん。
最近じゃアルゴリズムに加えてデザインパターンなんてのも覚えといたほうが
いいようだが、ここはCのスレだしあんまし関係ないな(w
ソートとかサーチみたいなのはプログラマにとって基礎体力みたいなもんで、
経験を積めば普通は自然と覚えるもんだ。
言える事は、一度はきっちりと理解しといたほうがいいということかな。
いろんなアルゴリズムに含まれてるアイデアは全然関係ない局面でも
使える場合が多いから。
0120デフォルトの名無しさん
NGNG15年ほど前にOh!PCかどこかでやってた林晴比古のC言語の入門講座で
関数名は大文字小文字を区別しないというようなことが書かれてた記憶が
あるんですが、そういう仕様の処理系ってあったんでしょうか?
当時は大文字小文字を区別しないリンカも多かっただろうけど、
「結果として区別できない」のと「区別しなくてよい」は別物だと
思うんですが。
あくまでも言語仕様は大文字小文字区別じゃないんでしょうか?
0121名無しさん@カラアゲうまうま
NGNGそれはいくらなんでもデタラメ過ぎるだろ。
0122260
NGNG#define PI 3.14 /* 円周率 */
main()
{
float r, S;
scanf("%g", &r);
S = r * r * PI;
printf("%g\n", S);
}
こんな感じのを
*fp使って、ファイルには1から10の数字は与えられている場合どうするの?
面積計算は必要です。
出力は
1 3.14
2
3
・
・
な感じになるようにお願いします
0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG根本的にマルチ
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG>キューにデータを詰める時、必ずしも順番通りでないデータを順番通りに取り出したい
それはデータ構造にキューを使っていること自体が間違いかもしれないよ。
だって先入れ先出しで処理したいからキューを使うわけでキューの順番を入れ替えるってことは
それはもうキューじゃないと思うんだが。
0127デフォルトの名無しさん
NGNGint fd=open(filename,O_RDWR);
0129デフォルトの名無しさん
NGNG> キューにデータを詰める時、必ずしも順番通りでないデータを順番通りに取り出したい
> んですが(あるいは入れるときに順番とおりでもいいです。)
意味が分からん。
「任意の順番で入力されたデータをそのデータのキー順に取り出したい」
ということか?
0130デフォルトの名無しさん
NGNGつぅか既に名が体を表しているな。
>>129
それ、キューじゃない気がするね。
0131デフォルトの名無しさん
NGNG>129
>130
priority queue じゃないの?
0132デフォルトの名無しさん
NGNG> priority queue じゃないの?
ならば、Cで無理に実装せずにC++のSTLを使う...
# ってCスレで言ってしまって良いのか?
0133デフォルトの名無しさん
NGNGそれならキューに突っ込む段で並べるからそもそもソートしない
0134131
NGNG>並べるからそもそもソートしない
並べることをソートというのでは?
0136デフォルトの名無しさん
NGNG勉強しています。サンプルコードをコンパイル
しているなかでエラーが出たのですが教えて下さい。
apue/signals/setops.cのなかで
int
sigaddset(sigset_t *set, int signo)
{
if (SIGBAD(signo)) { errno = EINVAL; return(-1); }
*set |= 1 << (signo - 1);/* turn bit on */
return(0);
}
という個所があるのですが、この関数内における
*set |= 1 << (signo - 1);
という行においてエラーが出ます。gcc-2.95.4における
エラーメッセージは以下の通りです。
setops.c: In function `sigaddset':
setops.c:12: invalid operands to binary |
これはどういう意味なのでしょうか?
使っているLinuxの/usr/include/asm/signal.hにはsigset_tは
#define _NSIG64
#define _NSIG_BPW32
#define _NSIG_WORDS(_NSIG / _NSIG_BPW)
typedef struct {
unsigned long sig[_NSIG_WORDS];
} sigset_t;
このように定義してあります。
gccのコンパイラオプションで回避できるものなのでしょうか?
使っているマシン(i386)でsizeof(unsigned long)を確かめたところ
4バイトでした。
0137超初心者
NGNGお願いしますm(_ _)m
0138デフォルトの名無しさん
NGNG#define _NSIG_BPW32
これは
#define _NSIG 64
#define _NSIG_BPW 32
の間違いでした。スペース消えてすまそ。
0139デフォルトの名無しさん
NGNG構造体にビット演算は無理だべ。
オプションいじっても無理。
0140デフォルトの名無しさん
NGNGあらかじめ指定しておいたテキストファイルから削除するには
どうすれば良いでしょうか?
0141デフォルトの名無しさん
NGNG質問を幾つか
・出題者が「多倍長」ってフレーズを口にした?
・素数そのものはファイルに入っている?それとも計算する?
・ファイルに入っている場合、素数の桁数はどのくらいあった?
0142デフォルトの名無しさん
NGNG素数の足し算って?
解説きぼーん。
0143デフォルトの名無しさん
NGNGテキストファイルを読み込んで、メモリ上で文字列を削除して、
それからファイルに書き出す。
0144超初心者
NGNG・多倍長ってのはいっていません。
・ファイルに入ってるとは素数のプログラムがですか??
・その意味なら入ってはいませんでしたが、問題は100以上、1000
以下の素数のプログラムを作れとのことでした。。
0145超初心者
NGNG0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGこちらでプログラムが紹介されています
見ても解らなかったら再度こちらで質問をどうぞ
素数 "列挙" アルゴリズムを極めるスレ
http://pc3.2ch.net/test/read.cgi/tech/1018657457/l50
0148デフォルトの名無しさん
NGNG「素数の和のプログラム」?
0149デフォルトの名無しさん
NGNGかけるならいざしらず
0150デフォルトの名無しさん
NGNG0151超初心者
NGNG意義はモレも知りませんが、そうゆう問題がでたんですよ。
0152超初心者
NGNGまぁそんな感じです。。
0153デフォルトの名無しさん
NGNGなるほど、そうなんですか。ありがとうございます
0154デフォルトの名無しさん
NGNGつかincludeもその本に載ってなかったの?
0155デフォルトの名無しさん
NGNGヘッダファイルは
#include <signal.h>
#include <error.h>
だけです。
どうにも分からないので放置します(笑
0156*nix厨
NGNGよこレスですが
その本が、コードと解説で構成されているやつでしたら、
割り込みの解説のあたりに、割り込みレジスタの構成(何レベルとか)が
書かれていますので、それに合わせてsigset_tをint等に書きかえれば
大丈夫です。
0157デフォルトの名無しさん
NGNGおお、そうなんですか。ありがとうございます。
実は本を読まずにまずはコードばかりを動かしてました(汗
シグナルについて書かれた10章をよく読んでみます。
失礼しました。
0158686
NGNGコンパイルできないのですが…修正をお願いします^^;
#define MAX 10
#include<stdio.h>
void kan(int a[MAX],int b[MAX],int c[MAX]);
int main(void)
{
int a[MAX]={1,5,3,7,2,10,4,3,8,9};
int b[MAX]={6,1,9,5,4,4,3,3,8,9};
int c[MAX];
int i, total=0;
kan(a,b,c)
}
void kan(int a[MAX],int b[MAX],int c[MAX]);
{
int i,total=0;
for(i=0;i<10;i++)
{
total=a[i]+b[i];
c[i]=total;
printf("%d",c[i]);
}
}
0159デフォルトの名無しさん
NGNG{
0160デフォルトの名無しさん
NGNG次からコンパイルエラーが出たら、そのエラーメッセージをコピペしろ
11行目の
> void kan(int a[MAX],int b[MAX],int c[MAX]);
の最後のセミコロンを削除
あと
> for(i=0;i<10;i++)
で他は全てMAXと書いているのに何故for(i=0;i<MAX;i++)としない?
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGc[i]=total;
直接代入したらええがな。
0163デフォルトの名無しさん
NGNG"%d "とかにしておかないと、結果が読みづらいと思われ。
0164デフォルトの名無しさん
NGNG> そこはsizeofで往くべきでは?
どこを?
ちなみにkanの中でsizeof a / sizeof a[0]を行っても
10にはならないよ。
0165デフォルトの名無しさん
NGNG> kan(a,b,c)
こっちは最後にセミコロンが抜けてる。
0166デフォルトの名無しさん
NGNGchar buf[256];
とかあったとして、sizeof(buf) は256になりますが、なんでですか?
bufというのは256バイトのchar配列の戦闘アドレスを指す
constなchar型ポインタだと思ってたので
sizeof(buf)で1が帰ってくるのが自然とか思い込んでました。
FAQ見ても説明つからないし。
まあサイズ帰ってきた方が便利なので今のままの方がいいけど
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG> 戦闘アドレス
そんな物はない。はともかく
> FAQ見ても説明つからないし。
C-FAQ 6章 配列とポインターを小一時間読んでみろ
http://www.catnet.ne.jp/kouno/c_faq/c6.html
特に以下の箇所は音読するように
6.2:でもchar a[]はchar *aと同じと聞いたことがあるが。
6.3:Cで"ポインターと配列は同等"というのは何を意味しているのか。
6.9:配列とは定数ポインターにすぎないと説明してくれた人がいた。
0169686
NGNG助言ありがとうございます!
ついでに聞きたいのですが…このプログラムにつぃて口頭試問をするのですが…
どういった質問ができるかいくつか教えて(出題して)もらえますか?
自分なりに答えを考えたいと思うのですが^^;
#define MAX 10
#include<stdio.h>
void kan(int a[MAX],int b[MAX],int c[MAX]);
int main(void)
{
int a[MAX]={1,5,3,7,2,10,4,3,8,9};
int b[MAX]={6,1,9,5,4,4,3,3,8,9};
int c[MAX];
int i;
kan(a,b,c);
}
void kan(int a[MAX],int b[MAX],int c[MAX])
{
int i;
for(i=0;i<MAX;i++)
{
c[i]=a[i]+b[i];
printf("%d",c[i]);
}
}
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG・kanて何?
・MAXを引数にしなかったの?
・printfは何してるの?
が最初か
0172デフォルトの名無しさん
NGNG> どういった質問ができるかいくつか教えて(出題して)もらえますか?
・そのプログラムは一体何をするプログラム?
0173デフォルトの名無しさん
NGNG・表示される答えが改行されないけど、君はこれで見やすいのかね?
とか。
0174686
NGNG170さんと171さんの2つ目がわかりません^^;
0175デフォルトの名無しさん
NGNGいまそれ書こうと思ってたw
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGせめて環境を。
0178デフォルトの名無しさん
NGNGOSはWindows
コンパイラはVC++6、0
0179デフォルトの名無しさん
NGNG緑に囲まれていい所です。
0180デフォルトの名無しさん
NGNGyの分だけ改行してxの分だけブランクを入れる
0181デフォルトの名無しさん
NGNGマジデ!?Σ(゚д゚)
0182デフォルトの名無しさん
NGNG緑?ダム端か?
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGせめて都道府県名くらいわからないとどうしようもない。
0185デフォルトの名無しさん
NGNGマレーシアです。
0186デフォルトの名無しさん
NGNG0187686
NGNG教えてもらえないですか^^;?
0188デフォルトの名無しさん
NGNGコンソールアプリなのか、windowアプリなのか?
0189686
NGNG0190デフォルトの名無しさん
NGNGそれは>>174じゃなくて>>176に対するレスでは…
0191デフォルトの名無しさん
NGNGおすすめの翻訳ソフトあります?
プログラム的な事って,ちゃんと翻訳されるのかなぁ?
0192デフォルトの名無しさん
NGNG最低限の英語力付けるだけで十分だと思うけど。
自作とプログラミングの文章に出てくる単語はほんの僅か。
0193Rina ◆tI333vNE
NGNG0194デフォルトの名無しさん
NGNG英語辞書買って,あとはなんかのドリルでも買ってがんばります。
ベイヤフーで検索するんでしょうか(すれ違いぎみ)?
0195デフォルトの名無しさん
NGNG>sizeof(buf) は256になりますが、なんでですか?
char buf[SIZE];
と宣言すると式中ではbufはbufの先頭要素を指すポインタに変換される。
このことを知っているとsizeof(buf)はsizeof(char *)と等しいと思うかもしれないが
sizeofはこれを"特別扱い"して配列全体のサイズを返す。
0196Rina ◆tI333vNE
NGNG0197デフォルトの名無しさん
NGNG「激しい穴・・・」とか出てくるからね
0198デフォルトの名無しさん
NGNGapa kabhar?
0199デフォルトの名無しさん
NGNGおお、便利だな。
0200デフォルトの名無しさん
NGNGPersonal Dictionaryと英次郎を組み合わせる。
これ最強。
バビロンとかよりお勧めだ。
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGerror C2601: 'main' : ローカル関数の定義が正しくありません。
どういうことだ!どこが間違っているんだ!
0203デフォルトの名無しさん
NGNGローカル関数の定義が正しくないようだ。
0204デフォルトの名無しさん
NGNGなんかしらんが
ワロタ
0205デフォルトの名無しさん
NGNGしらん
0206デフォルトの名無しさん
NGNG質問の仕方が正しくないようだ
0207デフォルトの名無しさん
NGNGmainを検索する
考える
宣言がたぶん変なんだろう
0208デフォルトの名無しさん
NGNGどっかにありませんか?
コンパイラはBorlandC++使ってます
0209デフォルトの名無しさん
NGNG意味がわからん
0210デフォルトの名無しさん
NGNG普通は,やっぱり変更する必要がなくなっても,その関数が関係のある関数群をまとめたファイルに書きこんでおきますか?
0211デフォルトの名無しさん
NGNGライブラリだね。
0212デフォルトの名無しさん
NGNGコンパイルが通らないのはバグ以前の問題。がんがれ。
{}の対応がとれていない。
0214デフォルトの名無しさん
NGNGDLLにしちゃえ。
0215デフォルトの名無しさん
NGNGchar *u;
char *c;
int aa;
} PO_PO, *PPO_PO;
#define UHU (*BOKO)(PPO_PO)
と宣言した場合、
BOKO
というのは実体がなくてもいいの?
a = (UHU)uhyo;
みたいにかかれているコードが普通にコンパイルとおっているので、
これで問題ないのか先輩がおかしいのかわからないです。
先輩は「これで問題なく動くはず」と公言していますけど・・・
0216デフォルトの名無しさん
NGNGああ、問題ない
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG今はβ版だよ。途中でMingW-3.0になったのだが、何か不都合があった
のか、またMingW-2.95.3に戻されているよ。
かなり安定してきた。
0219検索しる
NGNGウワァァァァァン
0220デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1028450760/
0221デフォルトの名無しさん
NGNGtypedef type1 type2[6]; /* (1) */
とあり、
type2 val;
と使われていました。良く分からないまま、とりあえず、
typedef type1[6] type2; /* (2) */
とは違うものなのだろうかと試してみたところ、これはコンパイルエラーになりました。
質問
(1) は (2)(コンパイルエラーになりますが)のイメージのようなものなのでしょうか?
それともまったく違う意味なのでしょうか?
0222デフォルトの名無しさん
NGNG意味がわからん
0223デフォルトの名無しさん
NGNG要素6っこの配列を作るときに
type1 a[6];
って書くのと同じこと。
0224デフォルトの名無しさん
NGNGはやく良くなってね。お大事に・・・
0225デフォルトの名無しさん
NGNGイメージではないです。
言うなれば、テキスト型のバイナリですね。
0226デフォルトの名無しさん
NGNG#include<stdio.h>
int main(void)
{
int a;
while(1){
printf("入力しなさい\n");
scanf("%d\n",&a);
printf("%dです。\n",a);
}
return(0);
}
これを実行して、最初に1を入力したとします。
すると、変数aには1が代入されて、1です。と表示さますよね。
で、無限ループですから、また入力します。
今度は2を入力したとします。
そうすると、また変数aには2が代入されるはずですよね?
しかし、1です。と出力されてしまいます。
なぜでしょうか。
0227デフォルトの名無しさん
NGNGscanfの \n は不要
0228デフォルトの名無しさん
NGNGなぜ、\nがあると正しく動いてくれないのですか?
0229デフォルトの名無しさん
NGNG例題ソースみたいなのどこかにないですか?
0230221
NGNGありがとうございます。
>>222,224,225
アホですんません。
なんか、光化学スモッグ注意報が出てて、気分悪いんです。
Java の int[6] val; のイメージだったんだけど、まあそれはどうでも良いや。
0231デフォルトの名無しさん
NGNGワラタ
0232デフォルトの名無しさん
NGNGqで終了できるエディタがあった場合、それで作ったテキストファイルにはqは出てこないはずである。
0233デフォルトの名無しさん
NGNG誤爆でしゅか?
0234デフォルトの名無しさん
NGNGviはZZで終了できるけど何か?
0235デフォルトの名無しさん
NGNGΣ(゚Д゚) !!!
0236デフォルトの名無しさん
NGNGchar *touppers(char *s)
{
static char buf[256];
char *p = buf;
for(;;p++,s++){
*p = toupper(*s);
if(*s == '\0') break;
}
return buf;
}
このような関数を作ったとき、引数と戻り値は
それぞれconst char*にするべきなんでしょうか?
いまいち判断基準がわかりません。
0237デフォルトの名無しさん
NGNGそもそも関数出た時点でその戻り値のアドレスの内容は不定なんだが。
0238デフォルトの名無しさん
NGNG関数内部のバッファのポインタをかえすのはやめましょう.
0239デフォルトの名無しさん
NGNGかぶった
スマソ
0240デフォルトの名無しさん
NGNG> そもそも関数出た時点でその戻り値のアドレスの内容は不定なんだが。
はずれ。
static char buf[256]; なので255以上の文字列を入力せず、
かつ、マルチスレッドで動作していなければ正常に動作する。
char buf[256]; ならば不定。
0241237じゃないけど
NGNG「正常に動作する」とは言えないのでは?
0242236
NGNGprintf("%s %s", touppers("foo"), touppers("bar"));
でも破綻しますけどね。
staticのアドレスを返すのはinet_ntoa()などでもやっていることで
仕様をきっちり理解したうえで使う分には問題ないですよ。
唯一の問題は論点がずれていることです・・・
0243デフォルトの名無しさん
NGNG引数はconst char *でいいと思うんだけど、戻り値については、
constなのは戻り値そのものであってそのポインタの指している値ではないので、
const char *touppers() でなくて、char *const touppers() に
なると思うんだが…ちょっと自信なし。
0244デフォルトの名無しさん
NGNG>なぜ、\nがあると正しく動いてくれないのですか?
たとえば
10 20 30
をscanfで読みとるときはscanf("%d%d%d", &a, &b, &c);でいい。入力フィールドは空白ではない
文字列とされる。逆にいうと空白文字で区切られているものは自動的にscanfが区切ってくれている。
注意しないといけないのはこの空白文字はブランク、タブ、改行、復帰、垂直タブ、改ページと
定義されているということ。だから
10 20 30 \t \nとあってもscanf("%d%d%d", &a, &b, &c);でちゃんと読み込める。
逆にこれをscanf("%d%d%d\n", &a, &b, &c);,scanf("%d%d%d ", &a, &b, &c);とすると
スペースや改行を読み込もうとするけど空白文字に埋もれて見つけることができなくなる。
0245デフォルトの名無しさん
NGNGごみん、static見てなかった。
確かに保持されるわ。
でも、トリッキーといいわけ。
0246デフォルトの名無しさん
NGNGchar *const touppers()
だと「ポインタの指している位置を変更できない」って意味でしょ?変じゃない?
たとえば、strlen関数とかに渡せなくならない?やったことないのでわからんが
0247246
NGNG全然大丈夫だね。寝起きでねぼけてたスマソ
0248デフォルトの名無しさん
NGNGN × M × sizeof(hoge) バイトの連続したメモリがとられるものと
考えて間違いないでしょうか。それとも連続した M × sizeof(hoge) バイトの
ブロックが適当な(一定の)パディングつきでN個とられる場合もあるのでしょうか?
そして、それはどこで定めてあるのでしょうか? ANSI?
0249デフォルトの名無しさん
NGNG処理系依存
0250デフォルトの名無しさん
NGNGそうなの?
多次元配列も要は配列を要素にもつ配列なわけだから
連続したメモリ領域を確保するのでは?
0251ふぅ〜 ◆WKHVTRQg
NGNGマスコミに怒りを覚えたよ。だって、俺の記憶によると北朝鮮の惨状のみを
強調する内容だった。北朝鮮援助と難民受け入れへの意識を喚起するような
感じだった。
西岡参考人の「北朝鮮問題の本質は安全保障問題なんです。」が一番要約された
一言でキーワードに成り得るのだが。
0252251
NGNG0253デフォルトの名無しさん
NGNGstruct {
long l;
char c;
} a[8][8];
なんて配列があったら大抵の処理系で、パディングですかすかだと思うけど。
0254デフォルトの名無しさん
NGNG泣きそうですな。
0255デフォルトの名無しさん
NGNGポインタは具体的にどういうときに使われるのですか?
絶対にポインタを理解しろ言われるのですが、そこまで重要なのですか?
0256デフォルトの名無しさん
NGNGIOポート叩くときとか。
0257デフォルトの名無しさん
NGNGポインタ無かったらC使う局面なんて・・・。
0258デフォルトの名無しさん
NGNGまったくだ。ポインタなかったら誰がこんな糞言語使うかってかんじ。
0259デフォルトの名無しさん
NGNGそれは構造体のパディングであって配列の連続性とは無関係。
0260デフォルトの名無しさん
NGNG1次元配列作って、自分で2次元的にアクセスしたらいいじゃん
0261デフォルトの名無しさん
NGNGint a=10;
int b=20;
これを入れ替える
void swap(int* a,int* b);
を作成する時。
参照とか言われそうだけど。
初心者にはこの辺が一番分かりやすい答えでは
なかろうか。
もっと奥の深い質問なら失礼。
0262デフォルトの名無しさん
NGNGy*(n / x) + n % xって奴ねw
0263デフォルトの名無しさん
NGNGDynamicなことやる時、でかい型を引数にとったり返したり。
あとは文字列操作のインサイドを理解する時。
0264デフォルトの名無しさん
NGNGどの言語にも似たような機能はあるもんだと思い込んでたんだけど
0265デフォルトの名無しさん
NGNGC++ そのもの+参照
Java 参照
C# 参照
Perl リファレンス
PHP リファレンス
Cから派生してネイティブコードはけるのはC++だけという罠。
0266デフォルトの名無しさん
NGNGPascal系にもポインタはある。ポインタ演算ができないので、Javaの参照に近い。
Fortranは 77 にはないけど 90 からは導入されたはず。
0267デフォルトの名無しさん
NGNG待て。Objective-Cがあるぞ。ネイティブコード吐けるぞ。
0268デフォルトの名無しさん
NGNG記憶にございませんw
0269デフォルトの名無しさん
NGNGお前には失望した。
0270デフォルトの名無しさん
NGNG田中、すまんな。
0271デフォルトの名無しさん
NGNG0272269
NGNG0273佐藤(実名)
NGNG0274( ・∀・)ヨロシクね!
NGNG俺にCRCについて原理からプログラミングの仕方まで詳しく教えてください( ゜д゜)タノム!
0275デフォルトの名無しさん
NGNG>絶対にポインタを理解しろ言われるのですが、そこまで重要なのですか?
絶対に理解しましょう。重要です。というか基本です。
今でも知らずにポインタを使っているはず。
必ずでてくるのが参照渡し。261のswap()関数ね。引数の値を操作しようとするときはポインタを
渡さなくちゃならない。
それから関数に配列を引数に渡したい場合。配列そのものは渡すことができないのでポインタを
渡す。
後は文字列。文字列リテラルなんかはポインタに変換されて扱われている。
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG引数いじるって邪道な気がするけどね。
無名構造体とかできればいいんだろうか?
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNG構造体はそのもの自体渡せるんだよね?
じゃあ構造体の要素に配列があった場合はどうなるのですか?
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNGそう言う逃げが嫌いだ・・・。
0282デフォルトの名無しさん
NGNGもちろん引数として渡すこともできるし、代入もできる
0283デフォルトの名無しさん
NGNG>引数いじるって邪道な気がするけどね。
引数いじる関数って標準関数でもいくらでもありますけど。fgetsとか strcpyとか
全部そうだし、、、。何で邪道?
0284( ・∀・)ヨロシクね!
NGNG0285デフォルトの名無しさん
NGNG知っているところまで書いてみたら?で、わからないとこを聴く。
0286( ・∀・)ヨロシクね!
NGNG正直CRCについては全くわかんないのです。
検索かけていくつかソースみたんですが、さっぱりでした。
0287デフォルトの名無しさん
NGNGいや、概念的によ。
ある引数を入れたならある戻り値が帰ってくる。
あくまで引数はinputであるべきじゃないのかと。
だからPerl見たいに戻り値を複数返せるようになってたらいいんじゃないのかと。
0288デフォルトの名無しさん
NGNGポインタを引数にして、メンバへのポインタ演算子を使った値変更も不可ってこと?
0289デフォルトの名無しさん
NGNG>ある引数を入れたならある戻り値が帰ってくる。
>あくまで引数はinputであるべきじゃないのかと。
気持ち的には分からなくもない。けど実際複数の返値は返せないし配列も返せないから
そういう場合は仕方ない。そのためにconstがあるわけだしポインタさえ渡さなければ
変更されない、逆にポインタを渡すのは操作を許すということだからこの仕様はそれなりに
いいと思う。個人的にはC++の参照渡しの方が怖い。
よそのHPで自分よりスキルがあると思われる人ってサンプルコードをみると大抵ポインタを渡して
関数ないで操作してるんだよね。何でかなと思っていたら大きいプログラムを書く場合は大抵
エラー処理用に戻り値を使うからだと気がついた。だからちょろっとしたサンプルコードを
書くときは返値がvoidでポインタを渡すような関数を書いている。
0290デフォルトの名無しさん
NGNG> 大きいプログラムを書く場合は大抵エラー処理用に戻り値を使うからだと気がついた。
だからC++とかは例外があるんだよね。(他にも理由はあるが)
エラー処理は例外、戻り値は戻り値として使えるから。
0291デフォルトの名無しさん
NGNG今基礎的な算数のプログラムをやっているのですが
#include <stdio.h>の下にくるのが
ある本には"int main(void)"とかいてあって
ある本には"main()"とかいてあります
また
ある本には最後に"return(0)"といれるようにいってあるのに
ある本にはなにもいれてません
そして
どっちの方式でやっても結果は変わりません
どうしてでしょうか
0292デフォルトの名無しさん
NGNGvoid main(void)
や
int main(int argc,char **argv)
などとかかれています。
0293デフォルトの名無しさん
NGNGC言語なら引数なしの括弧だけは評価されない
mainのreturn 0は明示的にやらないとシステムがやってくれる。
0294デフォルトの名無しさん
NGNGint main(void)とmain()は同じ。
正しくはint型(例えば0)を返すべきだけど、コンパイラによってはエラーにしない。
0295デフォルトの名無しさん
NGNG気にしなくていいよ。
理解できる時になれば一瞬で理解できるから。
多分あなたのレベルじゃ
>293は理解できないでしょうし。
嫌味じゃなくて、いい意味でいまは置いておくことを
薦めるよ。
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG要素が配列ひとつだけの構造体を作れば
配列の値渡しが出来るというわけですね?
まあそんなことする必要性があるかどうかはわかりませんが
可能か不可能かということなら可能ということですよね?
0298デフォルトの名無しさん
NGNG一行目の意味がわからんが、可能なんじゃないかしらん?
Javaとかだとそうするみたいだし
0299デフォルトの名無しさん
NGNG可能
0300デフォルトの名無しさん
NGNGttp://www.st.rim.or.jp/~phinloda/cqa/cqa6.html#Q5
でも読んで見なされ。
0301291
NGNGではとりあえずどっちでもいいということで保留しときます
きっとそれだけ自由な言語なんですね
0302デフォルトの名無しさん
NGNGそれはソースをコンパイルするパソコンによって違うの?
それとも、コンパイル後にできた実行ファイルを実行する
パソコンによって違うの?
0303デフォルトの名無しさん
NGNGそら、ターゲット依存にせざるを得ないわな。
コンパイラによります
0305デフォルトの名無しさん
NGNGvoid main(void)
とか書いてある本って、捨てたほうがいいと思うんだけど。
書いたやつの規格の理解が怪しい証拠だし。
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGhttp://www.ncfreak.com/cecilia/memo/edcode.html#crc
後、
「C言語による最新アルゴリズム辞典」奥村晴彦著
この本に詳しい解説がある。買って読め。
0308デフォルトの名無しさん
NGNGあと、
ftp://ftp.matsusaka-u.ac.jp/pub/algorithms/src/
ここにある
crc*.c
ってやつをひっぱて置け。
0309デフォルトの名無しさん
NGNGILP64モデルのコンパイラなら、intが8バイト(64bit)になるよ。
0310( ・∀・)ヨロシクね!
NGNG早速そのHP読んできます。
アルゴリズムの本には手を出すなと昔ここでいわれたのでいまだに読んでないんですよ。
とりあえず立ち読みしてみるとこにします。。情報ありがとうございました
>>308
とりあえずダウソしてみました。
今中身みてますが、やはりわかんないかも・・・
とりあえず>>307が教えてくれたHPに概念がのってるので、それ読んだあと再度見てみます。
ありがとうございました
0311デフォルトの名無しさん
NGNGそう言う台詞はC言語まともに使いこなせるようになってからほざくもんだ。
お前とそのクソ本、どっちがCの知識が多いかと言えば後者だからな。
クソながらお前より賢い先生だ。無礼は許さん。
0312デフォルトの名無しさん
NGNGよくわからんが、嘘を堂々と書くやつは知識の多寡に関わらず賢くないと思うけど。
しかもC FAQにさえのってる有名な事例だ。それすらも知らんで知識多いの?
無礼かどうかはしらんが、嘘つきと無礼なやつだったらおれは無礼なやつを取るけどな。
0313デフォルトの名無しさん
NGNGどーでもいいやん。
scanfの腐った仕様とかのほうがよっぽど問題だ。
0314デフォルトの名無しさん
NGNGどうでもいいといえばどうでもいいんだけども、
クズ本で勉強してきたヤシがいっぱしのプログラマでございなんて
顔されるのがたまらんのだよ。無論そいつは被害者なんだけど。
クズ本のせいで何人ヘボプログラマが生産されてることか。
こっちと関係ないところでひっそりと生きていてくれればいいんだけど、
そうもいかんしな。おい、K、おまえだよおまえ(w
だからクズ本はクズ本と言うようにしてるんだわ、おれ。
荒れる原因になりかねないからちょくちょくは言わんけどさ。
mainの定義くらいだったらかわいいもんだけどさ、
裏返すとそれすらもちゃんと知らないヤシが書いた本なんて推して知るべしだろ。
おい、おまえが適当に書き飛ばしてくれた本の尻拭いをなんでおれが、
と何度思ったことか。特にM田、貴様だ。
つかM田は書き飛ばしたわけじゃないらしいのが深刻なんだが(w
そういうわけで私怨が多分に入ってるよ、おれは。
0315デフォルトの名無しさん
NGNG0316M 田
NGNG0317デフォルトの名無しさん
NGNG貴様だ。
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNGそんなにスレッド作りたいのか? あ?
0320デフォルトの名無しさん
NGNG誰もそんなこと言ってねぇよ。
大して勉強もしてねぇくせにステレオタイプで
この本クソなんですけど〜?
とかほざく厨房に死んでもらいたいだけだ。
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG私はここで高らかに宣言する。
我が、ジオン公国は配列を使用することを!
ジークジオン!
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNGくっくっく、まだまだ私には勝てんよ、アムロ。
0326API学くん
NGNG関数の引数の中に「0L」と言う表現があるのですがどういう意味でしょうか?
どうも零のことらしいですが、わざわざLを付ける意味がわかりません。
VC++の例文に載っていたのですが、これがC言語のものか、C++のものか、VC++固有
の表現なのかもわかりません。
よろしくお願いします。
0327デフォルトの名無しさん
NGNGlong
0328デフォルトの名無しさん
NGNG0329API学くん
NGNGどうもありがとうございます。
longを明示したわけですね。
あと「0L」はC言語のものか、C++のものか、VC++固有の表現なのか教えて頂けないでしょうか。
0332デフォルトの名無しさん
NGNGにハンドル変えたら?
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/をマニュアルとして使ってますが、何か?
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGネットはいいだろう。リファレンスやTIPSとしてなら。
基礎知らないと全く役に立たないけど。
基本は本で体系的に学ぶのがいいと思うけどね。
0337333
NGNG「人間を検索エンジンの変わりに使ってる奴」に訂正。
0338デフォルトの名無しさん
NGNGははっ 「変わり」 だってさ。ダサー
一生の恥だなおめー
0339デフォルトの名無しさん
NGNG無粋だな。
0340デフォルトの名無しさん
NGNGint main(int argc, [以下略]と書いても、 void main(void)と
書いてもwarningが出ない、ってのはなぜですか? main()のプロトタイプは
どこにあるのでしょうか?
0341デフォルトの名無しさん
NGNGなにがしたいんだ?
0342デフォルトの名無しさん
NGNGない。
0343デフォルトの名無しさん
NGNGmainのプロトタイプ?
自分でかかなければあるわけねーだろ。
0344デフォルトの名無しさん
NGNGmainは魔法の名前なんだよ。
0345デフォルトの名無しさん
NGNGCはターゲットと開発機のOSやCPUなどが全く違う状態で開発できるようになってます。
つまりmainの返り値や引数は、ターゲットの環境に依存するわけです。
ですからmainは自由なI/Fで記述できるようになっています。
0346デフォルトの名無しさん
NGNG勉強になった。
0347デフォルトの名無しさん
NGNG> warningが出ない、ってのはなぜですか?
そんなもん、コンパイラによるだろ。
0348デフォルトの名無しさん
NGNGvoid main() { }
#2cc test.c
ゴルア(`Д´) test.c(1) > void main() <小一時間問い詰めたい
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNGsegmentあぼーん。
メッセージで信用丸つぶれ。しかも、coreの代わりにエロファイルが。
0351デフォルトの名無しさん
NGNGとりあえず、ためしにやってみました。
proc test.pc
cc -c test.c
cc -o test test.o
Oracleのライブラリをリンクしたいんですけどどうしたらいいでしょうか?
0352デフォルトの名無しさん
NGNGリンク時に加えればいいんじゃネーノ?
0353デフォルトの名無しさん
NGNGスレ違いだし、なんでヘルプを読まないのかな?(怒)
0354デフォルトの名無しさん
NGNGヘルプはないっす
0355デフォルトの名無しさん
NGNGだが、エロファイルを袖の下にして信用回復。
>351
Oracleのmakefileを改造。
でもライブラリを特定してリンクしたいとかだったらスマソ。
0356デフォルトの名無しさん
NGNG死ね
0357デフォルトの名無しさん
NGNGそれはコンパイラでなく、OSの仕業。
0358デフォルトの名無しさん
NGNGひろゆき、割とUNIX互換OS manax 発表。
0359デフォルトの名無しさん
NGNGそうなんです。makefileがわけわかんないんで。
ひとつひとつやってみたいんですけど。
0360340
NGNGターゲットが違うんなら、仮におなじホストでおなじコンパイラ使っててもインクルードする
ファイル(の置き場)も変わるものなんではないかと思いますけど...
(つまり、ターゲットがいろいろあるって事実は、mainのprototypeが存在しないこと...
「自由なI/Fで記述できる」ってのの理由になってるんでしょうか?)
で、343さんや344さんの言うように、mainのプロトタイプは、ふつうは存在しないってのは
正しいんでしょうか?なんかの規格上、存在しないってきまってるものなんですか?
>>341 正確な知識が得たいんです。
知るかヴォケ、って言われそう。
0361デフォルトの名無しさん
NGNG規格で決まってるらしい。
C言語のJIS規格X3010-1993には、
「プログラム開始処理において呼び出される関数の名前は、mainとする。
処理系は、この関数に対して関数原型を宣言しない。」
との記述がある。
0363デフォルトの名無しさん
NGNGごとに順番を入れ替えるプログラムを
作ってください。
0364デフォルトの名無しさん
NGNG作りました。
0365デフォルトの名無しさん
NGNGそういうのは、現在時刻、またはプロセス番号をキーに
乱数を作ればいいんだけど、環境に依存するよ。
誰かが作っても君の環境で動作するとは限らない。
0366sage
NGNGrand()
0367デフォルトの名無しさん
NGNG実行開始ごとに乱数系列が初期化されるから、単にrand()を使っただけだと
毎回同じ結果になってしまうよ。
それを避けるためには、>>365の言うように何らかの外的要因による初期化が
必要で、その手段は実行環境に依存する。
0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNG千円で作ってあげるよ。
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGあるけど教えません。
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNGのようにsystem関数で変数をいれたいのですが、
どのようにすればよいのでしょうか?
0377デフォルトの名無しさん
NGNGPG向いてないと思われます
0378376
NGNG0379デフォルトの名無しさん
NGNGchar tmp[256];
sprintf(tmp, "ls %s",殻);
system(tmp);
0380デフォルトの名無しさん
NGNGint _Rand( int n ); // 0〜nを返す
int main( void )
{
int b,i,n,a[10]={1,2,3,4,5,6,7,8,9,10};
for(n=0;n<9;n++) {
i=_Rand(9-n);
b=a[i];
a[i]=a[9-n];
a[9-n]=b;
}
return 0;
}
0381363
NGNGどうも、ありがとうございました。
0382デフォルトの名無しさん
NGNGこれを関数名でわかるようにしたほうがいいのでしょうか?
point_kakezan();
0383Rina ◆tI333vNE
NGNG同じ機能で型違いっていうのなら関数名に型情報を
持たせたほうがいい。
fabsとabsなんて良い例なんじゃないかな?
0384デフォルトの名無しさん
NGNG{
int i;
for(i=0;i<Cnt;i++) {
if( Data[i] >= 1 ) return TRUE;
}
return FALSE;
}
これぐらいでも関数にする時ってありますか?
今関数100個くらいあるんですが
ひとつのファイルに20個くらいも書いてあるのはありですか?
0385デフォルトの名無しさん
NGNGいいんじゃねぇの?
それぐらいでも関数にする時ありますよ
ファイルは機能別に分割した方がいいでしょう
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNG思想が危険。inlineでいいじゃん。
いい加減なこと言うな
0390デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG可能でしょうか?また、そういったものを作られた経験のある方はいらっしゃいますか?
0393デフォルトの名無しさん
NGNG可能
せめて環境を書きましょう
0395デフォルトの名無しさん
NGNGヴィジュアルC++のコンソールアプリです。
フラグの成立に関する関数って存在しますか?
0396デフォルトの名無しさん
NGNG?
0397デフォルトの名無しさん
NGNGフラグの成立?
何言ってっかわかんないけどそんな関数ありません
0398デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <time.h>
#include <stdio.h>
int main(){
time_t tt;srand(time(&tt));
while(getchar()!=EOF)
printf("%d",rand()%10);
return 0;}
0399395
NGNG{12345678901234567890}
上のような個々の数字(または文字)をランダムで1つ選ぶ、みたいなモノです。
スロットはレバーをたたいた時こんな風にフラグ(ベルやスイカ、チェリー等の役)をランダムで決めてるので。
0400デフォルトの名無しさん
NGNGreturn Flg;
}
0401395
NGNGランダムで決めるヤツですよね?
すいませんがほんとに簡単でいいんで解説お願いできますか?
0402デフォルトの名無しさん
NGNGvoid kan( void )
{
char box[20][20];
kan2(&box[0][0]);
}
void kan2(char *box)
{
for(int i=0;i<10;i++)
box[0+i]=i;
}
を,
void kan2(char *box)
{
for(int i=0;i<10;i++)
box[0][i]=i;
}
という風に使いたいのですが,kan2のプロトタイプ宣言の仕方とchar *boxをどのようにすればいいのかわかりません。
教えてください。
0403デフォルトの名無しさん
NGNGtime(NULL);現在時刻を返すかもしれない
srand(time(NULL));ランダム系列を現在時刻で初期化
getchar();一文字読み込む、もうなければEOF
rand();擬似乱数を返す、系列はsrandで初期化済み
rand()%10;0から9に限定
printf("%d",rand%10);それを表示
0404デフォルトの名無しさん
NGNGvoid kan2( char **box );
あと、普通は
kan2( box );
と呼び出すと思うんだけど
0405デフォルトの名無しさん
NGNGvoid kan2(char box[20][20]);とか
void kan2(char box[][20]);とか
void kan2(char (*box)[20]);
kan2(box);
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG(゚∀゚)余裕でオッケー
0408デフォルトの名無しさん
NGNGいいよ。てか、普通は入れる。引数の意味が分かりやすいように
0409デフォルトの名無しさん
NGNG全部void kan( int, int ,char );
とかにしていた・・・
鬱だ,がんばろう
0410デフォルトの名無しさん
NGNG1年半じゃしかたないね。 オレは歴10年でやっとモノにしつつある感じ。
0411デフォルトの名無しさん
NGNGがんがって!
0412デフォルトの名無しさん
NGNG逝っちゃって!
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNGつーか、C/C++ってプロトタイプ宣言が必要だから嫌い。
0415デフォルトの名無しさん
NGNGタイプミスがバグに直結するんだよ? それでもいいの?
タイプミスをコンパイラがはじいてくれる・・・こんなにうれしいことはない
0416デフォルトの名無しさん
NGNG(デバッグ処理);
}
と書くと、この部分はコンパイルされませんか?
それとも、
#if 0 〜 #endif でくくらないと駄目ですか?
0417デフォルトの名無しさん
NGNG> と書くと、この部分はコンパイルされませんか?
処理系と最適化オプションによる。ちなみにgccの場合は無視される。
> #if 0 〜 #endif でくくらないと駄目ですか?
この場合は処理系、最適化オプションに関わらずに必ず無視される。
0418デフォルトの名無しさん
NGNGchar *lpBox;
int nu;
}Box;
これで,Box.lpBoxに5つの配列を動的に確保し,そのあとmemsetでBoxを初期化(0でメモリの塗りつぶし)したら,どうなりますか?
それとBox.lpBoxを開放したあとに,memsetした場合はどうなりますか?
0419モヒモヒ
NGNG0420デフォルトの名無しさん
NGNG無視されるがコンパイラは検索するので
SJISで「/* ここで「表示」します */」なんでいれてもエラーは出る。
#ifdefでも。
gccだとね。
0421デフォルトの名無しさん
NGNGポインタを初期化したら解放できないだろ。
解放した後にそのポインタに触れるのはご法度。
0422デフォルトの名無しさん
NGNG昔、どっかでプログラムの学習ででてきたやつだな。
「最初にお金を入れて、次にボタンを押して」
とかいう。
宿題は宿題スレにいきな。
0423デフォルトの名無しさん
NGNGchar *lpBox;
int nu;
}Box;
これで,Box.lpBoxに5つの配列を動的に確保し,
Box.lpBoxを開放したあとに,memsetした場合は安全ですよね?
このあと,またlpBoxに動的に配列を確保したりしてもいいですよね?
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG無意味だろ。本なり信用できるネットで調べてこいよ。
で、俺の信用できない意見でいいなら
「かまわん」
0427デフォルトの名無しさん
NGNG「配列を5つも確保してどうする」
0428デフォルトの名無しさん
NGNGreturnの直前でfreeして、そのfreeした領域内の値をreturnしているものが
あったんですが、これって許されることなんですか?
返す値を別の変数に保存してからfreeして、保存した値を返すようにすべきじゃ
ないかと思うんですが。
0429デフォルトの名無しさん
NGNGそれに
「何処かで見たソース」
でなくて
「自分が作ってしまったソース」
だろ。正直に書くように。
0430デフォルトの名無しさん
NGNGfreeした後に、その領域にアクセスしちゃいけないよ。
0431
NGNG0432デフォルトの名無しさん
NGNGC言語でできることなら何でも
0433デフォルトの名無しさん
NGNGと、いうことは、こんなプログラムを書いていいれすか?
main.c の中身
#include "input.c"
#include "calc.c"
#include "print.c"
0434432
NGNG0435デフォルトの名無しさん
NGNG文法的には可能。
ただそれをやると君のコーディングセンスが疑われる諸刃の剣
素人にはお勧めできない。
0436デフォルトの名無しさん
NGNG「テイルファイル」に名称変更してもいいれすか?
0437デフォルトの名無しさん
NGNG駄目です。
「フッタファイル」ならば許可します。
0438デフォルトの名無しさん
NGNGポインタ参照ミス。
0440デフォルトの名無しさん
NGNGど う も な ら な か っ た ね
0441デフォルトの名無しさん
NGNGN88BASICみたいに
絵を書くことは出来ますか?
0442デフォルトの名無しさん
NGNGできない。
0443デフォルトの名無しさん
NGNGなーんだ。できないのか。
CってN88BASICより劣っているんだね
なんてレベルに低い言語だ
0444デフォルトの名無しさん
NGNGハイハイソーソー
0445デフォルトの名無しさん
NGNG>これで,Box.lpBoxに5つの配列を動的に確保し,
>Box.lpBoxを開放したあとに,memsetした場合は安全ですよね?
ネタなんだかわからんがマジレスします。全然安全じゃありません。
構造体で考えるから難しくなるんでしょう。何でもプリミティブな形で
考えればいい。要はこういうことでしょ。
char *cp;
cp = malloc(5);
free(cp);
memset(cp, 5, 0);
freeしたあとのcpには何かしら有効なポインタを指す前にアクセスしてはいけない。
0446428
NGNG自分でそんなコード書いたらとてもこんなとこで晒せませんて。
記憶を辿ってハケーンしますた。
ttp://www5.airnet.ne.jp/tomy/cpro/sslib9.htm
ここの
double lagra(double xx[], double yy[], int n, double xi)
double splint(double xx[], double yy[], int n, double xi)
の中でこんな記述が。
if(*p++ == xi)
{
free((char *)x);
free((char *)y);
return *(y + i);
}
freeしてすぐだからって駄目ですよね?こんなの。
啓学出版の「C言語による科学技術計算サブルーチンライブラリ」
(黒瀬能聿・松島勇雄・松尾俊彦 共著)という本をベースにしてる
そうですが、この本誰か知ってますか?
信頼に足る本なんでしょうか?
0447デフォルトの名無しさん
NGNGこれでさらに無敵になりました。
0448デフォルトの名無しさん
NGNGその本はしらんが、そのコードはダメだ。
そのページのやつがダメなのか本がダメなのか判断つかんが。
0449デフォルトの名無しさん
NGNGそのページのソース、なんか、途中で面倒くさくなったらしくて、
3つcallocして、どれかがNULLならfreeしないでreturnしてるね(w
まぁ、危険なところは書き直して吉。
0450デフォルトの名無しさん
NGNGことが許されていたそうな。くわばらくわばら。
0451デフォルトの名無しさん
NGNG復活できなかったら別の領域が確保されてreallocの戻り値で
返されるとかいう仕様?
無条件に復活できるわけじゃないでしょ?
新規にmallocせずに必ず復活できると限らんものをreallocしたい
心境が分からんが。
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNGあ、俺も俺も〜。
0454デフォルトの名無しさん
NGNGNULL入れた後はOK?
0455デフォルトの名無しさん
NGNG「ランダムで選ぶ→rand()を使用」って書いてあるのにアフォですか?
ちなみにスロットのドラムは一定方向に回転しているだけなのでランダムで選ぶのはどうかと。
実機で絵柄が飛ぶように見えるのは、ボタンを押した瞬間に滑らせる(=役が揃わないように高速でドラムをずらす)からだよ。
とりあえず今後はゲ製版へ逝ってくれ。
0456デフォルトの名無しさん
NGNGMacで使われてるのかい?
0457名無しさん@カラアゲうまうま
NGNGNULLが有効なアドレスだと思ってんのか。
0458454
NGNGポインタのメンバ以外memsetするーよ
0459デフォルトの名無しさん
NGNG>わかたーよ
>ポインタのメンバ以外memsetするーよ
たぶん全然分かっていないと思うけどこれなら可能。
typedef struct{
char *lpBox;
int nu;
}Box;
int main(void)
{
Box box;
memset(&box, 0, sizeof(Box));
printf("%p, %x\n", box.lpBox, box.nu);
return 0;
}
0460デフォルトの名無しさん
NGNGC勉強中ですが
レス見てもぜんぜん理解できません
はぁー
0461デフォルトの名無しさん
NGNG気にしなくてもよいかと。
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNGそんなあなたも3ヵ月後には
「NULLポインタ?お前ら読み方はナルが正しいんだぞ、厨房がぁ!」
とかさらりと言えるようになります。
0464デフォルトの名無しさん
NGNGどうしても「NULL」を「ヌル」と読んでしまう漏れはぬるぬるですか?
0465デフォルトの名無しさん
NGNGhttp://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=NULL&sw=0
0466デフォルトの名無しさん
NGNGwarningはウォーニングとは読まないのですか?
0467デフォルトの名無しさん
NGNG読んでますが何か?
0468モヒモヒ
NGNG0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG(;´Д`)
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNG#defineで宣言するのが多くなったので、他のファイルに分けたいのですが
どうすればよいのですか?
0476デフォルトの名無しさん
NGNGdefineのファイルをインクルードしなさい
0477デフォルトの名無しさん
NGNGどうやって書いたらよいのですか?
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG俺はかわいく丸文字がイイな。
0480デフォルトの名無しさん
NGNG真面目に答えてください。
今日中に教えてくれないとレイプします
0481デフォルトの名無しさん
NGNG#ifndef HOGEHOGE_H
#define HOGEHOGE_H
#define xxxxxxxx
#define xxxxxxxx
:
#endif
0482デフォルトの名無しさん
NGNGこれをヘッダーファイルにして
インクルードすればよいのですね?
0483デフォルトの名無しさん
NGNG現時点でどういうファイルがあって、
どのファイルで#defineの宣言が多くなったのかを言わんと。
0484481
NGNG0485デフォルトの名無しさん
NGNG#ifndef HOGEHOGE_H
#define HOGEHOGE_H
のHOGEHOGE_Hってなんれすか?
0486デフォルトの名無しさん
NGNGインクルードガード
0487481
NGNGHOGEHOGE のとこは何でもいいのれす。
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNGひまなのか?ネタなのか?
0490デフォルトの名無しさん
NGNGまじです。
お願いだから、マジレスしてください。
0491デフォルトの名無しさん
NGNGどこでもいいよ。
0492デフォルトの名無しさん
NGNGHDDに。
つか
#include <hogehoge.h>
とやってないだろうな?
#include "hogehoge.h"
カレントに置く場合はこうしませう。
0493デフォルトの名無しさん
NGNGインクルードファイルが見つかりませんって言われるのですが…
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG>>492は理解してる?
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNG,;⌒⌒i.
ノノノノ⌒ヽ ( ;;;;;) ______
(゚∈゚ ) ミ) ,,:;;;). .| .|
/⌒\/( ) ヽ| |/ |;,ノ | 樹海 |
( ミ ∨∨ | / .,i |______|
ノ / | | ,,i; ,, . ,;⌒‖
( \/ヽ ,,,丶, | |,,,;. ;i, .‖ヽ
\ ) ) .. ,, ´ヽ (,, ‖丿.,,,
/// ,, ,, .. ´ヽ ‖,,, ..,
`ヾ ヽミ ,, .、 ヽ .. ヽ丶,.ヽ ‖、,,
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNG昨日、近所のム板行ったんです。ム板。
そしたらなんかCを理解してる人がいないで語れないんです。
で、よく見たらなんかC言語を習得するには20年かかると書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、C如きで普段来てないム板に来てんじゃねーよ、ボケが。
Cだよ、C。
なんか親子連れとかもいるし。一家4人でム板か。おめでてーな。
よーしパパ勉強しちゃうぞー、とか言ってるの。もう見てらんない。
お前らな、VCからCを勉強と。
ム板ってのはな、もっと殺伐としてるべきなんだよ。
モニターの向こうの奴奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと語れたかと思ったら、隣の奴が、Cは関数の集まり、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、Cは関数の集まりなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、Cは関数の集まり、だ。
お前は本当にCは関数の集まりを言いたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、Cは関数の集まりって言いたいだけちゃうんかと。
ム板通の俺から言わせてもらえば今、ム板通の間での最新流行はやっぱり、
繰り返し文、これだね。
無限繰り返し文while。これが通の頼み方。
繰り返し文ってのは同じことをさせる。そん代わり楽。これ。
で、それに無限while。これ最強。
しかしこれを頼むと次から日本政府にマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、BASICでもやってなさいってこった。
0504デフォルトの名無しさん
NGNGとりあえず、コンパイルする.cファイルと同じディレクトリに自作のヘッダを
おいてください。includeは<>じゃなくて""で囲ってください
0505ほべ
NGNG>モニターの向こうの奴奴
0506デフォルトの名無しさん
NGNGdouble a = 74.58;
double b = 0.33;
double c = a/b;
int d = (int)c;
とすると c=226.0 なのに d=225 になるらしいんです。
実際やってみたら確かにそうなる。 floor(c)でも同じ。
まじ怖いと思った。どうやって回避すればいいんですか?
0507デフォルトの名無しさん
NGNG端数が切り捨てられただけでは
0508デフォルトの名無しさん
NGNG死者五入しんさい。
0509デフォルトの名無しさん
NGNG0510506
NGNG微小量を cに足してやった上でint にするというソリューションが、載ってい
た記憶があるんですが、それはそれで、真の解ではなくなる可能性もあるんですよね...
>>508
数値計算のようなアプリケーションでは、ちと辛いような気も...
0511デフォルトの名無しさん
NGNGBCDとかBIGNUMを使う、分数は分数のまま持って歩く。
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG(エラーの内容は「左のオペランドが左辺値になっていない」です)
何故エラーが出るのかどなたかご教授していただけないでしょうか。お願いします。
int main(void) /* sample.c */
{
int x, *p;
&x = p;
p = &x; /* error */
return 0;
}
0514デフォルトの名無しさん
NGNGxのアドレスは変えれんよ
0515513
NGNGp = &x;
&x = p; /* error */
>>514さん
どうもです。でも、代入すら許されないのでしょうか?
0516513
NGNG>>514さん、有難うございました。
0517デフォルトの名無しさん
NGNGどうやったらチンカスを出力できますか。
printfでやったけどできませんでした。
0518
NGNG「単純にしろ、間抜け」?
0519デフォルトの名無しさん
NGNGputs
>>518
スレ違い
0520デフォルトの名無しさん
NGNGprintf("チンカス\n");
0521デフォルトの名無しさん
NGNGの下のほうの「MS-DOSのエスケープ・シーケンス」のところで、
printf("\x1b[4;31m");
とあるところなのですが、色が変わらず、┘のような
変な文字列が表示されるだけでうまく動きません。
色の変更をしたいときは、Cではどのようにしたらいいですか。
OSは WinXP Home
コンパイラは Borland C++ 5.5.1 for Win32 です。
0522デフォルトの名無しさん
NGNG>(*注)同じMS-DOSでもたとえば98シリーズと FMシリーズではカラーコードが違っています。
>他にも微妙に違うところがあるかもしれません。
>お使いの機種で本章のプログラムがうまく動作しない場合は、無視して下さい。
>本章以降のプログラムについても同様です。
0523デフォルトの名無しさん
NGNGANSIエスケープシーケンスがつかえねーんだってば。
0524デフォルトの名無しさん
NGNG見落としてました。
代替法を伝授していただきたいのですが。
# sage 進行スレでageてゴメソ
0525デフォルトの名無しさん
NGNG質問くらいageてもいいだろ。
/* 折れはかちゅ〜しゃだしね… */
0526デフォルトの名無しさん
NGNGsage進行じゃねーぞ。sageる人がこの板に多いだけ。
質問はなるべくageてね・・・
0527デフォルトの名無しさん
NGNG最近C++を勉強していますが
Cに慣れてるせいか所々詰まってしまう部分があります
特に「参照」がソース中に出てくるとつっかえてしまいます
一応機能や文法は理解しているのですが本の中だけで理解しているだけです
実用的なソースはまだ見ていないのでわからないのですが
基本的にポインタで代用可能という判断を下したのですがどうなんでしょう?
参照には出来てポインタでは出来ない事とかあるのでしょうか?
個人的に参照はあまり使いたくないと思っています。
0528デフォルトの名無しさん
NGNGnullは取れないのでエラーをどう表そうか悩む。
本来、ポインタのよる参照渡しはリーガルな方法ではないし問題も多い。
だから参照というものが導入された。
0529デフォルトの名無しさん
NGNG確実なのはSetConsoleTextAttributeみたいなAPIを叩く、くらいしか、、
>527
>参照には出来てポインタでは出来ない事とかあるのでしょうか?
T& operator + ( const T &lhs , const T & rhs);
T ret = T(1) + T(2) + T(4);
>528
引数として参照があるのは、「エラー状態はいらねー」という意思表明ナリ
返値としてなら、例外投げれ
0530デフォルトの名無しさん
NGNGどうすれば良いのでしょうか。
0531デフォルトの名無しさん
NGNGint &getref()
{
int &a = some_valiable;
return a;
}
getref() = 32;
0532デフォルトの名無しさん
NGNG関数単位で分けて書く。
一つの関数を複数のファイルに分けて書くことはできないはず。
0533デフォルトの名無しさん
NGNGこれを別のファイルに保存して、それを読み込む方法を聞いているのですが…。
0534デフォルトの名無しさん
NGNGは?
コンパイラの使い方を聞いているの?
そんなのコンパイラの説明書をみればいいじゃない。
0535534
NGNG0536デフォルトの名無しさん
NGNGモジュールかですかいな。
0537デフォルトの名無しさん
NGNGincludeしろ!
0538デフォルトの名無しさん
NGNG535は単に*.cを#includeするなと言ってんじゃない?
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNGじゃあ使っているコンパイラを教えてよ。
0541デフォルトの名無しさん
NGNGコンパイラ。
0542デフォルトの名無しさん
NGNGもっと具体的に言え
分割コンパイルの方法を1から説明しろと言うとるのか?
0543デフォルトの名無しさん
NGNG単に別々にコンパイルするだけです。
実行形式にするときにはコンパイルしてできた
オブジェクトファイルを必要なだけリンクします。
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGいいんじゃない?
0546デフォルトの名無しさん
NGNGC++相談室スレで質問して貰った方がいいのかもしれないけど…
参照は基本的にポインタで代用可能という判断で正しいと思います。
必要を感じなければ積極的に使わなくても良いのでは。
私が参照を使う場面というと、ネストしたクラスの奥深くにアクセスするときに
参照で短い別名を付けるというpascalのwith文のような使い方とか、
関数内部で変更しないクラス引数をポインタ渡しにすると呼び出し側に
実体の変数が必要だけど、const参照で渡せばコンストラクタ等で生成した
即値を渡すことも可能とか、そんな用途ぐらいですか。
0547デフォルトの名無しさん
NGNGここの下のコンパイラの説明のところに、実行ファイルは作れませんが・・・とあるんですが、そんなコンパイラがあるんでしょうか(^_^;)
コンパイルするだけしてリンクはしないとか?
0548デフォルトの名無しさん
NGNGVMがあるかもねぇ。
0549デフォルトの名無しさん
NGNGgccやボーランドはだめなの?
0550デフォルトの名無しさん
NGNG頑張って参照に慣れるしかないようですな・・・
どうも代入文の左辺に&があったり
関数に値を代入したりという部分でわかってはいても理解に時間がかかる・・・
まあこれは慣れしかないですね
0551デフォルトの名無しさん
NGNGリンクはリンカがするものです。
ただ、オプション指定でリンカを起動できる
コンパイラが多いだけです。
0552デフォルトの名無しさん
NGNGそのサイトやべーぞ。
http://black.sakura.ne.jp/~third/c55.html
呆れたYO!
0553デフォルトの名無しさん
NGNG英語で書いてあるCの勉強ぺージってありますか?
0554デフォルトの名無しさん
NGNG#include <stdlib.h>
int main() {
char *po;
if ((po = (char *)malloc(sizeof(char) * 128)) == NULL) {
fprintf(stderr , "メモリが足りません");
exit(1);
}
po = "Kitty on your lap"; /* なんのためにmallocしたんだよ */
printf(po); /* %s使え */
free(po); /* mallocした覚えのないものをfreeするな */
return 0;
}
0555デフォルトの名無しさん
NGNGそりゃもう無数に。
0557デフォルトの名無しさん
NGNGmallocはしていると思うが?
0558デフォルトの名無しさん
NGNGその時点でのpoの値は"Kitty on your lap"という文字列リテラルの先頭アドレスで上書きされています。
0559デフォルトの名無しさん
NGNGリンクページの"C machine"というサイトにあるのがここで触れられている
学習用コンパイラのようだけど、Windows用のexeを吐くんじゃなくて
コンパイラから実行環境までをアプリ内部で持ってるようですな。
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNGstrncpyの方がより安全かと
0562デフォルトの名無しさん
NGNGなにが、どういうふうに安全なのか教えていただけますか?
0563デフォルトの名無しさん
NGNG先頭を0にして、strncatがおすすめ。
0564561
NGNG一般的には溢れないn付きの方が安全かと。
>>554の(>>552のリンク先のですよね)みたいにコピー元が固定の文字列で
明らかに溢れない場合はstrcpyでノープロブレムです、はい。
0565デフォルトの名無しさん
NGNGstrncatってそんな仕様だったんだ。
putsは改行するのにfputsは改行しなかったりと、なんか統一性がないね。
0566デフォルトの名無しさん
NGNGネタ
0568デフォルトの名無しさん
NGNG何マジにな(略
0569563
NGNG必要になることがあるから気をつけてね。
0570デフォルトの名無しさん
NGNG当たり前のことを語りまくるな。
こいつ。strcpyは領域いっぱいに使ったんだろうな。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNGいい機会だから書いてみる。
strncpyのあの仕様ってCOBOLとかのレコードをCで扱うためにある(あった)んじゃないかって
だいぶ前から妄想してたりする。
以前全銀協手順のプログラムをCで書いたとき、文字列のフィールドは、
文字列の末尾からフィールドの最後までを0x20で埋めろという仕様だった。
もちろんstrncpyは0x20じゃなくて0x0で埋めるんだけど。
で、ひょっとしてstrncpyが生まれた時代のCOBOLの実装に
文字列フィールドの末尾を0x0で埋めるやつがあったんじゃないかななんて。
…やっぱ妄想ですね。逝ってきます。
0574562
NGNG初心者が混乱するのでもう止めてください。
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGネタだと思うけど一応・・・・
strncpyは0が来たらそこでコピー終了。memcpyは指定されたバイト数分無条件でコピー。
0577デフォルトの名無しさん
NGNG何ー!!
そんな仕様だったのかー!!
0578デフォルトの名無しさん
NGNGネタだよね?
strncpy()は最初の'\0'が見つかった後、nバイトに達するまで'\0'で埋める。
0579デフォルトの名無しさん
NGNGネタだよね?
strncpy()は最初の'\0'が見つかった後、nバイトに達するまで0x20で埋める。
0580デフォルトの名無しさん
NGNGそうだったっけ?
てっきり'\0'はひとつだけコピーするのかと・・・
0581デフォルトの名無しさん
NGNG厨はまとめて逝ってくれ。
0582デフォルトの名無しさん
NGNG逝けってさ。
05831-581
NGNG;y=ー( ゚д゚)・∵. ターン
\/| y |)
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGじゃ、逝くか。
0586デフォルトの名無しさん
NGNG下のプログラムを試せばわかるよ
#include <stdio.h>
#include <limits.h>
int main(void) {
char buf[] = "0123456789";
strncpy(buf, "", LONG_MAX);
return 0;
}
0587デフォルトの名無しさん
NGNGねぇ"" = '\0'じゃないの?
0588デフォルトの名無しさん
NGNGデバッガで試してみなよ。
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG覚えたてだから「知ってるぞ」ってアピールしてんの?
みんな知ってるってw
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNG何か覚えたてなの?
0595デフォルトの名無しさん
NGNG調子に乗ったあげく、
NULL[NULL] == NULL
ってされなかった分だけマシだったと思って許してあげれば?
0596デフォルトの名無しさん
NGNG0597モヒモヒ
NGNGint main(void)
{
char option;
cout << "S) Select An Item" << endl;
cout << "D) Deposit Money" << endl;
cout << "C) Cancel" << endl;
cin >> option;
if (option == "S")
cout << "1" << endl;
else if (option == "D")
cout << "2" << endl;
else if (option == "C")
cout << "cancel" << endl;
else
cout << "Please select S or D or C" << endl;
int i;
cin >> i;
return 0;
}
0598初心者 ◆ZMVdytmo
NGNGでマイクロソフトの機能使わずに
ウィンドウ表示させるコードってあるの?
0599ssssss
NGNGマイクロソフトの機能?ってどの部分?
開発環境のことか、それともAPIのこと?
てか、その前にスレ違いだけどな。
http://pc3.2ch.net/test/read.cgi/tech/1018239290/l50
この辺で聞いてみたら?
0600デフォルトの名無しさん
NGNGiostreamライブラリはC++用なので、Cでは使えないです。
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGvoid item(void)
{
int item;
int howMuch[6]={100, 100, 125, 75, 75, 100};
cout << " 1 2 3" << endl;
cout << " Coke Sprite Orange Juice" << endl;
cout << "$1.00 $1.00 $1.25" << endl << endl;
cout << " 4 5 6" << endl;
cout << " Mars Oh Henry! Kit-Kat" << endl;
cout << "$0.75 $0.75 $1.00" << endl << endl;
cout << "Select the item:";
cin >> item;
clrscr();
if (item == 1)
cout << "Please deposit $1.00";
else if (item == 2)
cout << "Please deposit $1.00";
else if (item == 3)
cout << "Please deposit $1.25";
else if (item == 4)
cout << "Please deposit $0.75";
else if (item == 5)
cout << "Please deposit $0.75";
else if (item == 6)
cout << "Please deposit $1.00";
deposit();
}
void deposit()
{
int dep, change, i;
cout << endl << endl;
cout << "Enter how much you are going to deposit" << endl;
cin >> dep;
change = dep - howMuch[i - 1];
cout << "Your change is " << change << endl;
}
0603デフォルトの名無しさん
NGNG・スレ違い
・状況を書けや
0604デフォルトの名無しさん
NGNGiってなんやねん
0605デフォルトの名無しさん
NGNG0606602
NGNGvoid item()で品を選ぶっしょ。
んで、選んだ番号によって値段が違うんだけど、その値段をどうやって
deposit()のほうで使うん?
この辺がようわからん。change = dep - howMuch[i - 1];
0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNG・itemをdepositに渡せばいいじゃん。
・スレ違い
0609602
NGNG0610デフォルトの名無しさん
NGNGとりあえず、depositを関数に分けずに書いたら?
0611デフォルトの名無しさん
NGNGド下手。
多分質問の答え:
・howMuch[] が deposit()からアクセスできないね。
・deposit()にプロトタイプ宣言が無く、C++のようなので、これもエラーだな。
0612デフォルトの名無しさん
NGNG0613602
NGNG宿題なんだけどさ。
自動販売機作れとか言いやがってさ、さっぱりよ。
ってことはdeposit()の方に
int howMuch[6]={100, 100, 125, 75, 75, 100};こうすればいいの?
0614デフォルトの名無しさん
NGNG全部グローバル変数にしたらw
0615デフォルトの名無しさん
NGNG0616モヒモヒ
NGNG0617デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1027756023/l50
0618602
NGNGグローバル変数ってGlobal Variableって事?
あー、やんなってくる
0619デフォルトの名無しさん
NGNG616は確信犯だから何言っても無駄だと思われ
0620デフォルトの名無しさん
NGNGふざけているんだね?
0621デフォルトの名無しさん
NGNGスレ違いという日本語は理解できてマスカ?
0622デフォルトの名無しさん
NGNG日本の評判を落とすのはやめてください
0623デフォルトの名無しさん
NGNGc = getchar ();
putchar (c);
c = getchar ();
putchar (c);
上のコードに対して、(1 改行)と打つと 1 が一回だけ表示されて
終了してしまうのですが
0624デフォルトの名無しさん
NGNGgetcharを使わない。
0625名無しさん@カラアゲうまうま
NGNG禿ファック。
とりあえずこのスレ全毒してみろ。
0626デフォルトの名無しさん
NGNG鼻フック
0627デフォルトの名無しさん
NGNG尻キック
0628デフォルトの名無しさん
NGNG1がちゃんと入力されてるやん
まったくもって正常な動作やん
0629デフォルトの名無しさん
NGNG531行目に以下のような記述があります。
static struct file_operations mem_fops = {
llseek: memory_lseek,
read: read_mem,
write: write_mem,
mmap: mmap_mem,
open: open_mem,
};
この”:”は何を意味しているのでしょうか?
これは処理としてはあるファイルに特定の処理を結びつけて
入ること自体は分かるのですが、Cにこんな記述があったのか
どうかよく分かりません。K&Rにも書いてないし。。
よろしくお願いします。
0630デフォルトの名無しさん
NGNGmemory_lseekやread_memは同じファイルにstaticな
関数として宣言されています。
0631デフォルトの名無しさん
NGNGビットフィールドじゃないの?
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNGビットフィールドだろ?
本当にK&Rに載っていなかったか?
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNGstruct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
int (*readdir) (struct file *, void *, filldir_t);
unsigned int (*poll) (struct file *, struct poll_table_struct *);
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
int (*mmap) (struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
int (*flush) (struct file *);
int (*release) (struct inode *, struct file *);
int (*fsync) (struct file *, struct dentry *, int datasync);
int (*fasync) (int, struct file *, int);
int (*lock) (struct file *, int, struct file_lock *);
ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_
ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, i
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned l
};
仮に先の”:”がビットフィールドだとするとどう解釈すればいいのでしょうか?
個人的には構造体の初期化用の何かシンタックスなのかと予想していますが
どうでしょうか?。今回のケースで言えば、特定のメンバ(今回のケースで言えば
関数ポインタ)を初期化しているように見えるのですが。。
0636デフォルトの名無しさん
NGNGstruct Hoge {
int n : 3;
};
見たいな書き方になるんじゃないの?
0637デフォルトの名無しさん
NGNGたぶんgccの拡張で、指定フィールドの初期化とか、
なかったっけなぁ?
>>631,>>633
プ
0638デフォルトの名無しさん
NGNG>gccの拡張で、指定フィールドの初期化とか
ありがとうございました。謎が解けました。感謝します。
0639デフォルトの名無しさん
NGNGいちいち細かいところまで見ていられるかよ。
というか>>629==>>637は釣り師だろ。
0640デフォルトの名無しさん
NGNG古いLinuxのソースを見てみたら、通常通りの
初期化をしていました(必要のないメンバはNULL指定で、
全てのメンバの値を羅列)。
これでパフォーマンスに及ぼす影響はどれぐらいになるんで
しょうかね。興味深いところではありますね。
0641デフォルトの名無しさん
NGNG標準Cじゃないと分かったんだから、そろそろスレ違いだと思わない?
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGそんなこというと各コンパイラスレがたってうっとおしいことになりそうだが。
0644デフォルトの名無しさん
NGNG質問の際は使用コンパイラを明らかにするべし。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGオリジナルのコンパイラですがなにか?
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNGみなくてよろし
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNGで変数のなかに
size_t marukome;
とか言うのがあるんですが、ヘッダファイルで
#include <stdio.h>ってやったほうがいいんでしょうか。
それとも普通はやらないのでしょうか。
0651デフォルトの名無しさん
NGNGsize_tならstddef.hの方がよくない?
0653デフォルトの名無しさん
NGNGそれをincludeしてるヘッダを取り込まないとエラーが出ると
思うんだが…。
0654デフォルトの名無しさん
NGNGどっちでもいいと思う。俺はそうする。
0655650
NGNG0656デフォルトの名無しさん
NGNGよくねーだろ。
0657デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNGエラーが出るかもしれないから、だろ。
0659デフォルトの名無しさん
NGNG0660Ruby厨なひと(802)
NGNG0661デフォルトの名無しさん
NGNG普通は2重にインクルードしないようにおまじないを書いとく
0662デフォルトの名無しさん
NGNG限らないんだっけ。
0663デフォルトの名無しさん
NGNG有効範囲で2回以上組み込むことができて、その効果は1回
組み込んだ場合と同様、とありますから、同じ翻訳単位で
複数回インクルードされても問題ないんじゃないでしょうか。
もちろん自作のヘッダファイルをインクルードガードする
必要はあるでしょうけど。
0664デフォルトの名無しさん
NGNGおれにはそれをしない理由が分からないのだが
0665デフォルトの名無しさん
NGNGint nc=0;
while((c=getchar()) != EOF){
++nc;
}
printf("nc = %d", nc);
として文字数を数えるために、EOFを入力してループを抜けたいのですが
EOFの入力の仕方が分かりません。
Win98SEでやってるのですが、どうやって出すのでしょうか?
UNIXの場合はCtrl+Z(?)か何かで出来たような気がしたのですが・・・・TT
0666デフォルトの名無しさん
NGNG0667名無しさん@Emacs
NGNGUnixの場合はC-dだ. そこんとこヨロシク.
WindowsはC-zかC-dじゃなかった?
0668デフォルトの名無しさん
NGNG0669名無しさん@Emacs
NGNGサスペンドじゃん!って突っ込んだ記憶がある.
0670デフォルトの名無しさん
NGNGもうこないかな?
ctrl-zを入力したらEnter(Return)キーをタイプしないと駄目だぞ。
0671665
NGNGみなさんレスありがとうございます!
Ctrl+ZがWindowsだったのですね^^;
でも今やってみたところCtrl+Zでループを出ることは出来たのですが
そのままprintf()を実行しないままプログラムが終了してしまいました
Ctrl+Zを押したとたん終了してしまうのでRetunキーも押せないですしTT
せっかくK&Cを買ったのに一章で詰まってしまって泣きそうです><
0673デフォルトの名無しさん
NGNGその意気や良し!
まず、ソースを全部貼りつけてみな。
0674673
NGNG0675デフォルトの名無しさん
NGNGコンパイラは10Kを超えているので貼り付けられないです。。。
0676デフォルトの名無しさん
NGNG一度ファイルに書き込んでから
a.exe < file
でいいのでは
0677デフォルトの名無しさん
NGNG俺の環境(winme+VC++6.0)でもそうなるよ。
なんでだろうね?
Linuxだとうまくゆくんだけどね。
0678デフォルトの名無しさん
NGNGint main(){
int nc=0,c;
while((c=getchar()) != EOF){
++nc;
}
printf("nc = %d", nc);
return 0;
}
これで思ったとおりに動かないか?
0679678
NGNG0680デフォルトの名無しさん
NGNGprintf("nc = %d\n", nc);
にしる!
0681665
NGNGK&Rの写しでやってます
#include<stdio.h>
main()
{
long nc;
nc = 0;
while(getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
コンパイラはBorland C++Compiler5.5を使ってます。
なぜか先ほどふと出来たのですが、まだすぐ出なくなってしましました。
なんでだろ^^;
>>676
あ、それだと出来ました。ありがとうございます!
0682デフォルトの名無しさん
NGNGできないですね。
プログラムが悪いんじゃなくて環境が悪いんです。
0683665
NGNGそれでも出来ませんでしたTT
>>681のでやったとき極稀にできたりするのでとっても気になるのですが・・・・・・
やっぱり>>682さんの言うとおり環境の問題なのかな
0684名無しさん@Emacs
NGNGあれ, たしかシステムコールの話とかも載ってただろ.
forkとかWin系じゃ動かないんじゃなかったっけ?
Linux厨だから外してたらスマソ.
0685駄目だとは思うが
NGNGをprintfの下に追加してみよう。
0686デフォルトの名無しさん
NGNGさっき駄目もとでsetvbufでstdoutをunbufferedにしてみたけど駄目だったからfflushしても駄目じゃないかな?
0687686
NGNG0688名無しさん@Emacs
NGNGsetvbuf使わなくてもsetbuf(stdout, NULL)じゃダメ?
0689デフォルトの名無しさん
NGNGでやったら一応出力されてた
0690665
NGNGシステムコールって何なのか良く分からないのですが、最終章に
UNIXシステム・インターフェイスってのがあるのでこれのことなのかな?
まだ一章なので(汗)、この章まで来たらLinuxを入れてみたいと思います。
助言ありがとです
>>685 >>688
やらせていただきましたけど、駄目でした><
0691デフォルトの名無しさん
NGNG=APIでいいっしょ。
0692デフォルトの名無しさん
NGNGそれはwin9xのdos窓のバグ(仕様)
「ユーザがCtrl-Zを叩いた後、次の改行までの表示が行なわれない」
ということらしい。ソースがどこだったか忘れた。
0693デフォルトの名無しさん
NGNGhttp://216.239.33.100/search?q=cache:4ayXuM-HcaIC:f1.aaacafe.ne.jp/~pointc/log100.html+%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB+%E3%83%90%E3%82%B0+Ctrl%2BZ&hl=ja&ie=UTF-8&inlang=ja
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGおまじない。
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG● void ポインタ
void * は、あらゆるポインタ型からキャスト可能で、
あらゆるポインタ型にキャスト可能な汎用ポインタ型である。
実体は、他のポインタ型と一緒でただのアドレス。
そのアドレスの先に何があると思うかはプログラマ次第。
参考はこの辺
ttp://www-mbi3.kuicr.kyoto-u.ac.jp/~hattori/
0700デフォルトの名無しさん
NGNGvoid=日下部陽一氏のHNだ。
あまり連呼すると出現しちゃうから気をつけろ。
0701デフォルトの名無しさん
NGNGこれ、召喚するな。
0702デフォルトの名無しさん
NGNG0703shige
NGNG0704デフォルトの名無しさん
NGNGたまにはこいよvoidたん。
0705デフォルトの名無しさん
NGNGお前はカエレ
0706Kusakabe Youichi
NGNG(CとC言語の違いが分からないようでは問題外ですが)
また、釣れたなどと喜ぶ人が居るんでしょうね;)
0707デフォルトの名無しさん
NGNG>>706
DivX 5.0.2の動画も比較的スムーズになったように見えます。
少なくとも、最初で駒落ち気味だったような動画が駒落ちしなくなりました。
…案外お勧めっぽいかも知れません。
0708Kusakabe Youichi
NGNG()の数も合わせられないおかしな人が、いきなりでてきましたな(^^;
0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNGC99で正式に「long long int およびunsigned long long int型は少なくとも64bit以上の値である」ことが定められてます
0716デフォルトの名無しさん
NGNGなるほど、C99で規格に盛り込まれたのですね。どうもです。
0717715
NGNG細かいけど
0718デフォルトの名無しさん
NGNGhttp://seclan.dll.jp/c99d/
ふーん、//のコメントって、C言語でもOKになったのか・・・
0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNG奥さんじゃなくて?
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG探してみたら
Cの標準規格の改訂版
The Revised C Standard
______________
P.J.Plauger
――――――――――――――
翻訳:日下部圭子・日下部陽一
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ってなってた 奥さんがやったのをチェック、、ってとこか
0725デフォルトの名無しさん
NGNGそれってCマガ?
奴の記事が載っている号があったら教えてくれ。
そこだけ焼却処分にするから。
これから載る号も頼む。立ち読みで済ますから。
0726724
NGNGもっとも、漏れにはその次の特集記事「プログラミングの禁じ手」がかなり役に立った、というか未熟さを痛感させられた
0727デフォルトの名無しさん
NGNGあれに書いてあるような薄っぺらい内容のものなら、
書籍買って深く知るほうがいいと思うけど。
雑誌の記事は結局参考文献を知る程度にしか使えない。
0728デフォルトの名無しさん
NGNGまあこっちにでもお勧め書いてくれ
http://pc.2ch.net/test/read.cgi/prog/1006353701/l50
0729デフォルトの名無しさん
NGNG#define VALUE int aa; int bb;
int main()
{
VALUE
・・・
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNGそんな冷たくあしらわないでください。
もうすでに、それでかなりのボログラムを
書いてしまったので、どうしようもありません。
0732デフォルトの名無しさん
NGNG全部捨てろ。
0733デフォルトの名無しさん
NGNGそのaaとかbbって名前でいろんなコードに使ってるのならマジキショい
それに宣言文自体が使うところから見えなくなるのは保守に悪い。グローバル変数と区別つかん
0734730
NGNGもう何も言わん
0735デフォルトの名無しさん
NGNG> もうすでに、それでかなりのボログラムを
> 書いてしまったので、どうしようもありません。
お前のエディタには文字列置換もないのかと小一時(略
0736デフォルトの名無しさん
NGNGやめてくれ
そゆアホなことをするから、糞ソースが出回ることになるんだ
0737初心者
NGNGstatic unsigned int counter[2];/*組み立て中の電文の文字数 ( <SCIMESSIZ) */
がどっちもグローバル変数で、sci_rx_line[2]のなかに電文を組み立てて
行きたい場合、1文字受信するごとに
*( buf[port]+counter[port]) = 'h' ;
counter[port]++;
ってな感じで組み立てていけばいいんですか?
要するに1行目のポインタ演算に自信がないんですが。
0738初心者
NGNG0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNG自信がなければ
buf[port][counter[port]]='h';
とするのがシンプルでいいと思われ。
0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNG割り込み処理の
void interrupt far int_recv(void)
{
buf[++rec_cnt] = inp(BRAIN_IN);
}
がどうしてもうまくいきません。
どなたかいい方法ご存知ですか?
(Cしか分からないので、Cでおながいします)
0746デフォルトの名無しさん
NGNG| 電波を感知しました。 |
|__________|
/ /
/
_ ビビビ
/||__|∧ /
。.|.(O´∀`) /
|≡( )) ))つ
`ー| | |
(__)_)
0747名無しさん@Emacs
NGNGfarかよ!
0748デフォルトの名無しさん
NGNGそれもありました。
でも今の問題は、割り込み処理自体に入らないのです。
あと、タイムアウト用大麻も正常に動作してないようです。
戻ってくる時もあるし、永遠ループになる時もあるし・・・。
デムパはほぼ四六時中受信してるので、テストはいつでもできるんですが。
0750デフォルトの名無しさん
NGNGvoid interrupt far int_recv(void)
{
try {
buf[++rec_cnt] = inp(BRAIN_IN);
}
catch (std::bad_dempa) {
// 例外処理
}
}
0751デフォルトの名無しさん
NGNGそれらの関数を呼ぶたんビに、通常の引数といっしょに
ファイルポインターをいちいち渡さないといけないのですが、何かこのあたりのエレガント
なソースの書き方ってありますかね?やっぱりファイルポインターも含めたおっきな
データ構造体を渡すしかないですかね?
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNGデバッグ用ならこうすれ。
void dprintf(const char *format, ...)
{
va_list ap;
FILE *fp;
if (!(fp = fopen("debuglog", "at"))) {
return;
}
va_start(ap, format);
vfprintf(fp, format, ap);
va_end(ap);
fclose(fp);
}
使い方。
dprintf("%d: %s\n", i, s);
printfとおんなじ。
0756デフォルトの名無しさん
NGNGファイルポインターはグローバル変数にしてもいいよ。
printfだって、stdoutというグローバル変数を使ってるわけだし。
0757754
NGNGこういうときにはマクロを使う。
#ifdef DEBUG
#define dprintf(...) DPRINTF(__VA_ARGS__)
#else
#define dprintf(...)
#endif
/* >>754のdprintfの関数名を変える */
void DPRINTF(const char *format, ...)
/* 以下は一緒 */
こんな感じで。上記の#ifdef〜#endifとDPRINTFのプロトタイプをヘッダに書いておいて、
それぞれのソースで#includeすればよろしいかと。
デバッグ中は#define DEBUGしとけばいい。gcc だと
gcc -DDEBUG foo.c
って感じ。デバッグコードを取り除きたくなったら -DDEBUG をはずせばいい。
でもgccでこういう可変長引数マクロが使えるかどうかは確認してない(w
というか、>>754を書いた後で可変長引数マクロをC99で
使えるようになってないかなと思って調べたら
ttp://seclan.dll.jp/c99d/c99d02.htm#dt19990405
というのがあったのだった。これ、おれがCに一番欲しかった機能だ。
8年前にあればなあ…。今は仕事でCを使ってませんです。
0758デフォルトの名無しさん
NGNG今は可変長マクロなんて便利なものがあるんだぁ。
昔は2重カッコで苦労したもんだ。シミジミ
0759758
NGNG0760デフォルトの名無しさん
NGNG個人的にはその都度ファイルオープンとクローズを繰り返すのは抵抗あるので
やはりグローバル変数に一票かな
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNGfopen/fcloseしないで、fflush使ったらだめなのか?
前に試してみたら、大丈夫そうなので使っていたが…
環境に依存したりするんだろうか。
まぁ、この場合はグローバル変数を使って実装することになるんだけど。
0763デフォルトの名無しさん
NGNG具体的には、
'a' → "a.bmp"
'0' → "0.bmp"
'@' → "atmark.bmp"
(これが合計50字前後)
という感じに、char1文字を与えたとき、それに対応する文字列へのポインタ
を返すような関数(連想配列?)がほしいんですが。
0764デフォルトの名無しさん
NGNG環境依存はどうだろうね。
やるとすれば実装はこんな感じになるかな。
void DPRINTF(const char *format, ...)
{
static FILE *fp = NULL;
:
:
if (!fp) {
if (!(fp = fopen("debuglog", "at"))) {
return;
}
}
:
:
fflush(fp);
}
DOSだとまずかったかもしれないがよく覚えてない。
ま、DOSなんて捨ててもいいんだけど。いやよくないかな(w
あとUNIX系を前提にできればsyslogを使う手もあるね。
0765デフォルトの名無しさん
NGNGchar *a[256];
a['a'] = "a.bmp";
a['0'] = "0.bmp";
a['@'] = "atmark.bmp";
これでできるよ。ただ、aの要素数255は環境依存だけど、
ま、大抵charは8bitだから大丈夫だろ(w
0766デフォルトの名無しさん
NGNGなるほど、そんな単純でいいんですか。
大分悩んでいたのに一瞬で解決してしまいました。
どうもありがとうございました。
0767762
NGNGオレは、関数内のstatic変数が仕様変更に弱いという考えを持っているんで、
グローバル変数にして、プログラムの先頭でfopenをする関数を呼ぶようにすると思う。
まぁ人の好みだけど。
試したのは確かVCだった。
DOSはファイルをオープンしたまま異常終了すると
同時にオープンできるファイルの数を食いつぶしていく
って問題があったような気がする。
0768デフォルトの名無しさん
NGNG漏れは動いた分のログは全部欲しいもので関数内でopen/closeしてます
まあ考え方の差ですが
0769デフォルトの名無しさん
NGNG単純な方法は>>765でいいとしても、仕様の拡張を考慮して、
ちゃんとしたものを作っておくのも勉強になると思うよ。
C++ の map や hashmap のようなものを、自分で作ってみるとか。
0770デフォルトの名無しさん
NGNGCでかちゅ〜しゃ等のWinアプリケーションを作りたいのですが、可能でしょうか?
今のところ、ファイルやDOSに出力する方法しかわからなく、困っております。
Cには、例えばJAVAで言えば、java.awt.*クラスのような、アプリケーション
作成に適した関数は用意されていないのでしょうか?
コンパイラはcygwinを使っています。
どうぞ、よろしくお願いします。
0771名無しさん@Emacs
NGNG0772770
NGNGレス、ありがとうございます。
JAVAではユーザーが限られてしまうので、ちょっと・・・。
僕の目標はフリーソフトで、かちゅ〜しゃみたいな、人気にちゃんソフトを
作る事なのです。そのためにCを勉強したのですが、前述のような
内容でつまずいてしまいました。今日も秋葉原の本屋で、調べてみたの
ですが、一向につかめません。
かちゅ〜しゃって言語は何で書かれてるんでしょうね。
0773デフォルトの名無しさん
NGNGかちゅ〜しゃはDelphi。
おとなしくVBを使うのはどうだろう。
VC++でもいいけどかなりの知識が必要だYO!
0774770
NGNG貴重な情報ありがとうございます!
VBですか・・・それもありですよね。
CでWinアプリケーションを作るのは、簡単な事だと思ってました。
だって、初心者本にCは何でも出来るYO!ヽ(`д´)ノて、
書いてあったし、、くそー、、(笑)
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNGprintfだけわかったんだね。
>初心者本にCは何でも出来ると書いてあった
「何でもできる」 = 「簡単なこと」 って、すごい脳内変換だな・・・
「猿にでもできるCげんご」でも読んだのなら別だが
・・・はぁ? 一生無理だな、こりゃ。
0777770
NGNG塚越一雄著:はじめてのC言語であります!
>>776
そうなんです(笑)。あと、リダイレクト、、
とりあえず、極めればWinアプリケーションも作成可能という事ですよね?
もうちょっとCを勉強してみることにします。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG0780770
NGNG>>779
マジで鬱です、、
その為にCを勉強したのに、、
UNIXアプリなら余裕っぽいですね。でもUNIXか、、
やっぱユーザー人口的にもWinがいいですね、、
Delphiでも勉強しようかな、、
0781デフォルトの名無しさん
NGNGUNIXでかちゅ〜しゃを作るのは余裕ってこと?
そんな余裕どこから出てくるんだ?
0782デフォルトの名無しさん
NGNGGUIなものを作りたいんだったら、UNIX上(X)でもC以外のことを知る必要があるよ
0783770
NGNGああ、そんな初心者をいじめないでやって下さい(笑)
0784デフォルトの名無しさん
NGNGCでも窓アプリつくれるよ
SDK + VC++ とかで
0785770
NGNGそうなんですかー、、
僕はJavaから入ったいわゆる、Java厨って奴なんで、
GUIに対して楽勝っていう先入観がありましたね。甘かったです。
0786770
NGNG情報ありがとうございます!
やはり、Delphiではなく、せっかくCを学んだのですから、
そちらの言語に進んだほうがいい気がしますね。
ちょっと考えて見ます。
0787d
NGNG-------風俗の総合商社・MTTどこでも-------
〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
http://www.mttdocomo.jp/
-----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/
------------------------------------------------
0788デフォルトの名無しさん
NGNGそういうケチくさい根性のせいで無駄な苦労をしてる奴の多いこと多いこと(藁
0789デフォルトの名無しさん
NGNGJavaやっていたひとなのに、C++じゃなくてCをやるの?
0790デフォルトの名無しさん
NGNGcygwinでも-mwindowsを指定すればwinアプリはつくれるでしょ
0791デフォルトの名無しさん
NGNGCでwinアプリを作れるか否かではなくて、
Cの知識だけでwinアプリが作れるか?って話じゃないの?
0792770
NGNG、、、
>>789
ええ、なんとなくCを、、でも、初心者本の内容はすぐ理解出来ましたよ。
Javaとあんま変わらないですよね。Cも。
>>790
アプリケーションというか、かちゅーしゃみたいなGUIを作りたいというか、
そのコマンドについては勉強しておきます。
0793770
NGNGまあ、そういう事になりますね、、僕が勉強足らずだったということで、
申し訳無いっす。
0794デフォルトの名無しさん
NGNGJavaでも作れないんだろ?
かちゅ。
0795デフォルトの名無しさん
NGNGJavaなんかと一緒にしてほしくない。
0796デフォルトの名無しさん
NGNGCには組み込み関数はありません。
0797デフォルトの名無しさん
NGNGその型が表せる数の範囲だろうか?それくらいしか思い浮かばない。
それくらいではメリットはない。むしろ、邪魔なくらいである。
俺的には,ちょー必要だと思うのだが。
0798デフォルトの名無しさん
NGNG?
0799デフォルトの名無しさん
NGNGまぢレス。
俺の場合。
C言語->C++言語(主にClass?)
->VisualC(いわゆるVC、SDKでC言語での窓の動作の仕組みを習得)
->MFCを使って普通に作る。
とりあえずここまでいけば
GUIで悩むのは終わりじゃないかな?
Cを学んだのは間違いとは思わないなぁ。
俺Cからのスタートだったし。
逆にVBとかJavaでGUIの動作について
考える機会が少なくて、学べないより
よっぽどいいんじゃない?
実際かちゅ〜しゃのGUI部分だけなら
あっというまに書けると思うよ。
「C言語のみ」って言わず、俺はMFC使えばだけどね。
まぁなんだ、がたがた騒ぐなw
出来るやつは出来るんだから。
できないならがんばれ新人。
0800デフォルトの名無しさん
NGNGC++Builderにしたら?
0801デフォルトの名無しさん
NGNGCよりC++をお勧めする。
因みにC++BuilderはGUI関係のライブラリがPascalで書いてあって
C++より読みやすいよ(経験談)。もしPascalを知らないなら、
アルゴリズム記述言語だと思えば当たらずとも遠からず。
0802デフォルトの名無しさん
NGNGその質問が意図するところは汎整数型の問題だろうか?それくらいしか思い浮かばない。
それくらいではメリットはない。むしろ、邪魔なくらいである。
俺的には,>797の文面はちょー理解不能だと思うのだが。
0803デフォルトの名無しさん
NGNG実際プログラムを組んでいて#include と#define 以外を使ったことがありません。
どのような所で役に立つような技術なんでしょうか?
0804デフォルトの名無しさん
NGNGデバッグするときとそうでないときで、コンパイルするコードを切り替えたり、
処理系に依存する部分を分けたりする
0805デフォルトの名無しさん
NGNG書籍関連のスレに参考になりそうなレスがあったよ
0806803
NGNG>デバッグするときとそうでないときで、コンパイルするコードを切り替えたり、
いままで、 // debug line:200〜218
なんて事やってた俺って・・・。
ありがとうございます☆
0807名無しさん@Emacs
NGNGhttp://member.nifty.ne.jp/Ryuz/c/preprocessor.html
とか参考になるかも. 簡単なTipsだけだけど.
0808806
NGNGほえ〜・・・。
こんな使い方があったんですね。
2重インクルードは駄目だったんだ・・・。
危なかった (w
0809デフォルトの名無しさん
NGNGもしかして標準のヘッダファイル読んだこと無いのか?
0810デフォルトの名無しさん
NGNG\===========[_|_|_|_|_|_|_|_|_|_|_|_|_|_]===========/
/三三三三三三三三三三三三三三三三三三三三\
0 │ |∞∞∞ |::|∞∞田田∞∞|::|∞∞∞ | ::| 0
[二] | ::| |::|┏━━━━┓|::| | ::l [二]
◎○@※◎○@※. |□|.│ |┌┬┐ |::|┃/ .C.\┃|::| ┌┬┐| ::|. |□| ◎○@※◎○@※
ii|iiii|iiii|iiii|iiii|iiii|iiii|iiii| `)三(´| ::|├┼┤ |::|┃ ∧_∧ ┃|::| ├┼┤| ::|`)三(´il|iiii|iiii|iiii|iiii|iiii|iiii|iiii|
@※◎○@※◎○ | ::| | ::|└┴┘ |::|┃(´∀` ) ┃|::| └┴┘| ::| | ::| @※◎○@※◎○
ii|iiii|iiii|iiii|iiii|iiii|iiii|iiii|li┏━━━━━┓|::|┃(. つ┃|::|┏━━━━━┓ li|iiii|iiii|iiii|iiii|iiii|iiii|iiii|l
◎○@iiii※◎○@ ┣┳┳┳┳┳┫|::|┗━━━━┛|::|┣┳┳┳┳┳┫ ◎○@iiii※◎○@
ii|iiii|iiii|iiii|iiii|iiii|iiii|iiii|l ○ ● ∫∬∫∬ ● ○ ii|iiii|iiii|iiii|iiii|iiii|iiii|iiii|li
○○ ●● iiiii iii ii iiii ●● ○○
[ ̄ ̄] [ ̄ ̄] ( ̄ ̄ ̄ ̄ ̄) [ ̄ ̄] [ ̄ ̄]
|_○_| .|_○_| |_____| |_○_| .|_○_|
∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧
( )( )(, )(,, ) ,,)( )( )(, )(, ;)
とうとう糞言語の王様が…… ザワザワ かわいそうに ナモナモ……
0811808
NGNG標準のヘッダファイル???
私の場合、いきなりAppWizardでした・・・。
自作ヘッダを読む場合に、VCが勝手に作ったプリプロセッサが
とても気になったんです・・・(爆死)
0812デフォルトの名無しさん
NGNG今手元にないので確認できない。
0813デフォルトの名無しさん
NGNGstdio.hやstring.hのことだろ?
0814名無しさん@Emacs
NGNGインクルードガードしてあるから標準ヘッダに限っては何度読み込んでもよい
…じゃなかった? 俺も手もとにないからうろ覚えだけど….
0815811
NGNG>>813
ほとんどMFC使っていたので知りませんでした・・・(汗)
勉強不足の感あり・・・。
0816デフォルトの名無しさん
NGNG> 夜中までご苦労様♪
なんかむかつく
0817名無しさん@Emacs
NGNGまぁまぁ…確かに徹夜組が見ると殺気を覚えるかもしれんが….
0818解析
NGNG気をつけないと大変な時があります。「お疲れ様」が適切です。
ただ、♪をつけてる時点でどの道煽りっぽくなってるので
この場合はあまり気にする必要はないでしょう。
0819デフォルトの名無しさん
NGNG>この場合はあまり気にする必要はないでしょう。
ワラタ
0820デフォルトの名無しさん
NGNGご苦労様 と お疲れ様 の意味合いが
完全に逆転しているところもあるしな
0821名無しさん@vi
NGNG信者が多いからですか?
0822デフォルトの名無しさん
NGNGやくざやさんも逆転している。
0823C++使い
NGNGなんでもかんでもCでやろうとします。
助けてください。
0824デフォルトの名無しさん
NGNG適材適所ってこと。
VBやC#なんかでOSやドライバを書こうとする馬鹿はいない。(いたらスマソ)
0825名無しさん@Emacs
NGNGそう? C厨は見掛けたことないなぁ….
0826名無しさん@Emacs
NGNGVBで書かれたドライバ…ヤダーヨ.
0827デフォルトの名無しさん
NGNGここらへんとか。
0828デフォルトの名無しさん
NGNGおれはGNU信者だけど、GNUコーディング規約には反吐が出る。
0829デフォルトの名無しさん
NGNG0830名無しさん@Emacs
NGNG俺もGNU信者だけどGNUコーディング規約は嫌い….
0831デフォルトの名無しさん
NGNG何文字までだったら、一行に書いても心が痛まない?
0832デフォルトの名無しさん
NGNG何文字でも。と言いたいけれど、さすがに100文字越えたら・・・
0833デフォルトの名無しさん
NGNGやっぱ100文字が心理的境界線だよね。
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG0836名無しさん@Emacs
NGNG言ってる意味が分からんのだが…?
>>834
typedef使って簡潔にまとめたらいいんじゃないか?
0837デフォルトの名無しさん
NGNGパラメータにひとつずつコメント入れる派?
0838デフォルトの名無しさん
NGNGPrologで書いたOSならありますぜ(w
0839デフォルトの名無しさん
NGNG0840名無しさん@Emacs
NGNGソースきぼん
0841デフォルトの名無しさん
NGNG|-`).。oO(OS->VM->Javaで書いたOS->Javaで書いたOS用のVM->Javaアプリって感じかな?)
0842デフォルトの名無しさん
NGNG恐怖
0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG0845770
NGNGGUI奥深し、、ですね。ちょっとDelphiにいくか、C++系にいくか、考えましたが
C++系に行こうと思ってます。
>>800>>801
C++Builderという言語は存在自体知らなかったですね。今度調べてみます。
>>805
今からちょっとロムってみたいと思います。
皆様、いっぱいのレスありがとうございました。大変勉強になりました。
0846デフォルトの名無しさん
NGNGそういう都合を考えたら、syslogがいいなぁ・・
Windowsじゃ使えないけどね。
Windowsでsyslogみたいなことやれないかな??
知ってたら誰かおせぇて
0847デフォルトの名無しさん
NGNG> 信者多すぎです。
> なんでもかんでもCでやろうとします。
例えば、COBOLしかできなくて何でもCOBOLでやろうとするのは
COBOLerであってCOBOL信者ではない。
よって、なんでもかんでもCでやろうとするのは
ただのC厨(Cモンキーでも可)であって、信者ではない。
信者とは根拠もなく「××は最高だ!」とほざく奴らのこと。
で、C言語は最高だと言う奴はRuby, Delphi, VB, Java使い
とかと比較してあまり見かけない。
0848デフォルトの名無しさん
NGNG/∴∵∴ヽ
|∵∴∞ヽ| _______
|∴/= ♀=| <C言語サイコー!
\| ▽/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄
0849デフォルトの名無しさん
NGNGうん。
0850デフォルトの名無しさん
NGNG>C++Builderという言語は存在自体知らなかったですね。今度調べてみます。
「C++Builderという言語」は無いよ。念のためつっこみ。
DelphiはObjectPascalという名をやめてDelphi言語になるらしいけど。
それからするとC++Builer言語というのもそのうちに、、、なるわけ無いよな。
0851デフォルトの名無しさん
NGNGある意味C++をDelphi言語に近づけたC++Builderという言語なのかもしれん。
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNGVCLを扱うときに拡張キーワード使うことがあるってだけで、言語がDelphiに近いとは思わんが。
0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNGなんか不満?
0856デフォルトの名無しさん
NGNG違ったっけ。
0857デフォルトの名無しさん
NGNG> もはやC++とは呼べん
というのが、?だ。ま、スレ違いだしどうでもいいけど。
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNGVCLを使う時だけC++らしくなくなりますが、それ以外はANSI-C++として
普通に使えますが何か?
0860デフォルトの名無しさん
NGNGスレ違い
0861デフォルトの名無しさん
NGNGOWL持ってる。BC5.0買ったからなぁ(w。一度もOWL使ったことないけど。
0862デフォルトの名無しさん
NGNGC++はほとんどの場合Cとして使えるがCとは呼べない
0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNG何回読み込んでも平気だよ。
ただ、#defineや構造体定義などなどが二重定義で引っかかる。
0865デフォルトの名無しさん
NGNGcase 0:
bool Flg=true;
break;
case 1:
break;
なにがだめなんでしょうか?
0866デフォルトの名無しさん
NGNGCならそれはダメだろう・・・。
0867デフォルトの名無しさん
NGNGbool Flg=true;
break;
}
0868デフォルトの名無しさん
NGNG{}で囲うべき?
0869デフォルトの名無しさん
NGNGそうするとFlgは一度も参照されない変数に・・・。
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNGそれが嫌ならswitch文の前で宣言すべし
0872デフォルトの名無しさん
NGNG小細工せずにはじめからそう教えるのがベストですな。
0873デフォルトの名無しさん
NGNGcase 1:
Flg = false;
break;
なんてときに、Flg の定義が飛ばされて矛盾するからでは
ないのだろうか。
0874871
NGNG0875867
NGNG0876デフォルトの名無しさん
NGNGそれにしても書いたとき自分で気持ち悪くならなかったのかと思って。
0877初心者
NGNGfor などでループして、i=0 ....10 とかで
file1
file2
file3
...
file10
というような感じで作りたいんですが、ループの数字を
ファイル名に足す方法がわかりません。
初心者過ぎてすみません。
0878デフォルトの名無しさん
NGNGstrcat
0879名無しさん@Emacs
NGNG俺は可読性重視でsnprintf使うが.
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGもっとも簡単に出力するやりかたを教えてください
グラフィック版hello worldのような
0882デフォルトの名無しさん
NGNG0883名無しさん@Emacs
NGNG残念ながらC言語では標準のGUIライブラリはない == 処理系依存.
WindowsでVC++使ってるんならWin32APIやMFCあたりがメジャー.
Unix系(Linux含む)ならXlib, motif, GTK+, qtあたりかな.
自分で調べて気に入ったの使え.
…っていうか処理系ぐらい書けや, ゴラァ!!
0884デフォルトの名無しさん
NGNG発想に惚れ惚れしたよw
0885デフォルトの名無しさん
NGNG>882
ですた。
0887877
NGNG>879
>880
うーむなるほど、どうもありがとうございました。
0888デフォルトの名無しさん
NGNGttp://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
0889お願いします
NGNGint i;
time_t tt;srand(time(&tt));
i=rand()%100;
return(i);
}
void main(){
int p,x=1;
while(x<1000){
x++;
p=sample();
printf("%d\n",p);
}
}
//////////////////////////////////////////////////////////
イメージとしてはいろいろな数字がずらずらーと表示されるはずだったのですが
実行しても同じ数字しか吐き出しません。なぜなのでしょう?
0890デフォルトの名無しさん
NGNGtime()の値が変わるタイミングよりも、
main()でsample()が呼ばれるタイミングが早いので、
sample()内のsrand()への引数が常に同じ値になってしまうのが原因。
試しにmain()のwhileの最後にsleep(1);を追加してみれば
値が毎回変わることを確認できるはず。
0891デフォルトの名無しさん
NGNGsrandの引数に同じ値を渡すと、当然直後のrandの値は同じになる。
ということは・・・
0892名無しさん@Emacs
NGNGsrandはmainの中で1度だけ実行すれ.
あとrand()は%とセットで使わないほうがいい. manだとrand(3)参照.
0894デフォルトの名無しさん
NGNG早朝って微妙な時間帯だよねー。
0895デフォルトの名無しさん
NGNGあまり突っ込むと、おれみたいに不機嫌になるぞ?
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGよいこのプログラマは真似しちゃだめだぞ。
0898デフォルトの名無しさん
NGNGプログラマ志望としては萎える
0899デフォルトの名無しさん
NGNG#include <math.h>
#define pi 3.141592 /*円周率*/
int second;/*秒*/
int from;/*何秒から*/
int to;/*何秒まで*/
double r;/*ラジアン*/
float kaku;/*度*/
float v0;/*初速度*/
float g=-9.8;/*重力加速度*/
float vx;/*x軸の速度*/
float vy;/*y軸の速度*/
float xx;/*x軸の距離*/
float xy;/*y軸の距離*/
int main()
{
printf("放物線運動の秒毎の速度と位置を出力します\n");
printf("初速度を入力してください\n");
scanf("%f",&v0);
printf("x軸に対する角度を入力してください\n");
scanf("%f",&kaku);
printf("出力する区域(秒)をスペースで区切り入力してください\n");
scanf("%d%d",from,to);
r=kaku/180*pi;
for(second=from;second<=to;++second){
/*時間の表示*/
printf("%d秒",second);
/*x軸の速度*/
vx=v0*cos(r)+0*second;
printf("x軸速度:%4.0f",vx);
/*y軸の速度*/
vy=v0*sin(r)+g*second;
printf("y軸速度:%4.0f ",vy);
/*x軸の距離*/
xx=v0*cos(r)*second;
printf("x軸距離:%4.0f",xx);
/*y軸の距離*/
xy=v0*sin(r)*second;
printf("y軸距離:%4.0f",xy);
}
return (0);
}
0900899
NGNG「出力する区域(秒)をスペースで区切り入力してください」
というメッセージに対し"1 10"とか入力すると
「このプログラムは不正な処理を行いました」
というポップアップがでてきてしまいます
まるなげで恐縮ですがどこが悪いんでしょうか
THROWING のページ違反です。
モジュール : MSVCRT.DLL、アドレス : 017f:7802498c
Registers:
EAX=00000000 CS=017f EIP=7802498c EFLGS=00010202
EBX=00000020 SS=0187 ESP=0073fb88 EBP=0073fd58
ECX=78037c48 DS=0187 ESI=00000064 FS=4d37
EDX=78037c48 ES=0187 EDI=00000001 GS=0000
Bytes at CS:EIP:
89 38 e9 91 f7 ff ff 66 89 38 e9 89 f7 ff ff ff
0901899
NGNG0902デフォルトの名無しさん
NGNGscanf("%d%d",from,to); =>
scanf("%d%d",&from,&to);
0904デフォルトの名無しさん
NGNGmath.hにM_PIって定義されてない?
0905デフォルトの名無しさん
NGNG3.1415926535
0907デフォルトの名無しさん
NGNG賛成ですな。他の処理系の警告レベルについても併記したらいいね。
VC++とかbccとか。おれはgccしかしらんから付け加えることは何もない。
0908デフォルトの名無しさん
NGNGで、このとき実際、可変個って最大何個渡せるかというのは、
どこで決まるものなんでしょうか?
0909デフォルトの名無しさん
NGNGスタックの大きさじゃん?
OS次第と思い思われ振り振られ
0910デフォルトの名無しさん
NGNGOS次第じゃないでしょ
0911デフォルトの名無しさん
NGNG少なくともお摘むは同レベル。(藁
0912デフォルトの名無しさん
NGNGほとんどの場合はOS次第でいいんじゃない?
引数全部レジスタ渡しな呼び出し規約のCPUなら
レジスタの個数に制限されたりするんだろうけど。
0913デフォルトの名無しさん
NGNG0914デフォルトの名無しさん
NGNGよく使われる変数って、register int としなくてもコンパイラが
最適化するときにレジスタに格納するようしてくれるんですかね?
環境は VC++ 6.0 ですが、ほかのコンパイラの話でもかまいません。
0915デフォルトの名無しさん
NGNG>register int としなくても
最近はコンパイル時にほとんど無視される指定のようです。
0916デフォルトの名無しさん
NGNGそうだったんですか…
ありがとうございました。
0917910
NGNGスタックサイズのことを言っているんだけど・・・
0918デフォルトの名無しさん
NGNGスタックサイズはプロセッサによって制限がある。
その制限内において、OSによって制限がある。
その制限内において、リンカによって定められる。
そのサイズはリンカオプションで増減できる。
ということではないのか?
0919デフォルトの名無しさん
NGNG正確にはvolatile指定をしない限りコンパイラは極力レジスタを使うようコンパイルします
場合によっては逆に問題が発生するからvolatile指定しなきゃいけないけど
0920デフォルトの名無しさん
NGNGローカル変数にvolatileつけてるコード見たんだけど
これって何か意味あるのかね?
0921デフォルトの名無しさん
NGNGコンパイラオプションで指定できるんじゃないの?
(少なくともBorlandはできたはず……デフォルトは「コンパイラに任せる」だったかな。)
0922デフォルトの名無しさん
NGNGここの「2.1 静的ライブラリ」の説明ってどうよ?
0923デフォルトの名無しさん
NGNGローカル変数のメモリ上のならびに依存したコードを書いたなど
まあマトモなコードじゃなかろうが
0924デフォルトの名無しさん
NGNG論外
> 上の gcc では -I 以降の /usr/loval/include にユーザ・ライブラリが
> 有る事を示している。
ヘッダファイルはライブラリではない
> ncurses.h は /usr/include に保管されている。
> (正確には、/usr/include/ncurses/curses.h にリンク)
正確に言っているつもりが逆に間違っている
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNGそれは>>923と同じじゃない?
レジスタ上の変数が破棄される可能性の話だから
0927デフォルトの名無しさん
NGNGどこが同じに読めるんだ。
> レジスタ上の変数が破棄される可能性の話だから
>>923はそんなこと一言もいってないだろ。
0928926
NGNGレジスタとメモリどちらに載るかという意味で書いただけなので
無視してもらってかまいません
0929デフォルトの名無しさん
NGNG意味もなくこれ→(゚∀゚)←つけるヤシって嫌い。
(゚∀゚)アヒャ
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGトレードマーク
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGつまりmodokiってヤシがUZEEEEEEEeeeeeeeeeeeと、いうことですか?
(・∀・)こっちのうほうがすき。
0936modoki ◆zVn/zRzw
NGNG0937デフォルトの名無しさん
NGNG#がついてるかついてないかとか言わないでください。
0938デフォルトの名無しさん
NGNGちょっと調べればわかることだろ。
0939デフォルトの名無しさん
NGNG書店に並んでいる C、C# の本を一冊ずつ買ってくる。
両方勉強しる。
(゚д゚)ウマー
0940デフォルトの名無しさん
NGNGそんなもの使うなよ
0941デフォルトの名無しさん
NGNG半音高いことです。
0942デフォルトの名無しさん
NGNG同意。
0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNGびっくり!五人目のプログラマ見習い登場!?
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG別に構わない
0949デフォルトの名無しさん
NGNGありがとん
0950950ゲッター
NGNG0951951ゲッター
NGNG0952デフォルトの名無しさん
NGNGC言語なら、俺に聞け! <29>
http://pc3.2ch.net/test/read.cgi/tech/1029605182/
0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
int main(int argc, char *argv[]) {
FILE *fp;
int c;
int bit;
int i;
size_t size;
char *vector;
if (argc == 1) {
return EXIT_FAILURE;
}
if ((fp = fopen(argv[1], "rb")) == NULL) {
fprintf(stderr, "%s: %s\n", strerror(errno));
return EXIT_FAILURE;
}
fseek(fp, 0L, SEEK_END);
size = ftell(fp);
fseek(fp, 0L, SEEK_SET);
if ((vector = malloc(size)) == NULL) {
fprintf(stderr, "out of memory\n");
return EXIT_FAILURE;
}
for (i = 0; i < size && (c = getc(fp)) != EOF; i++) {
vector[i] = 0;
for (bit = 7; bit >= 0; --bit) {
vector[i] <<= 1;
if ((c & (1 << bit)) != 0) {
vector[i] |= 1;
}
}
}
return EXIT_SUCCESS;
}
0956デフォルトの名無しさん
NGNG単にbitの並びを逆転させた配列を作ってるだけのような気がするが。。
0957955
NGNGは?逆転なんかしていませんが。
バイナリモードでファイルを読んで、先頭から1ビットずつ配列に入れる
という要求をそのままコードにしただけですが、何か間違っていますか?
0958デフォルトの名無しさん
NGNGマクロ展開後のソースを読む方法を教えて下さい。
(コンパイルオプションだと思うのですが、探し方が悪いためか、
ドキュメントで見つけられず)
使用可能なコンパイラは、
(1) gcc
(2) BCC5.5.1
(3) VC++6.0
の3つです。
(カナリ恥ずかしいですが)よろしくお願い致します。m(_ _;)m
0959デフォルトの名無しさん
NGNGプリプロセッサ通す。
0960デフォルトの名無しさん
NGNGありがとうございます。
できれば、具体的な操作方法(またはヘルプ検索のキーワード)を教えて頂きたいのですが。
0961名無しさん@Emacs
NGNGman cpp
0962デフォルトの名無しさん
NGNG読み込んだcをMSBから調べていって、vector[i]のLSBからセット
していくんだから、bitの並びが逆転してるのは間違いない。
それが963の要望とあっているかどうかはわからないけど。
0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%80%80%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%80%E3%83%97%E3%83%AA%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5+site%3Amicrosoft.com&hl=ja&ie=UTF-8&oe=UTF-8
0966デフォルトの名無しさん
NGNGVC++6.0ならcl /?でオプションの一覧を参照できるだろ。
0968デフォルトの名無しさん
NGNGつーか963は別に何も求めてないだろ。
0969デフォルトの名無しさん
NGNGC言語なら、俺に聞け! <29>
http://pc3.2ch.net/test/read.cgi/tech/1029605182/l50
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNGだろ
0974デフォルトの名無しさん
NGNG0975名無しさん@Emacs
NGNGネタですか?ねぇ、ネタですか?ネタって言ってくださいYO!!
0976デフォルトの名無しさん
NGNGint f, t;
int *from = &f, *to = &t;
ってやりゃいいんだ(w
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGコンソールの設定変えてくださいな。
0982デフォルトの名無しさん
NGNG犯罪のにおい
0983デフォルトの名無しさん
NGNGおながいします
ワケワカンネェヨ ヽ(`Д´)ノ ウワァァァン
0984デフォルトの名無しさん
NGNGmakefileの勉強をしる!
0985デフォルトの名無しさん
NGNGcc -c a.c
cc -c b.c
cc -c c.c
cc -c d.c
cc -o e a.o b.o c.o d.o
0986デフォルトの名無しさん
NGNGまずはリンカではないかえ?
0987分割コンパイル(偽)
NGNG0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNGバカモノ! こうだる!
--- a.cの中にて ---
#include "b.c"
--- b.cの中にて ---
#include "c.c"
それで、cc a.cとすれば完璧。
0994折衷案
NGNG0995デフォルトの名無しさん
NGNGcc -c b.c
cc -c c.c
cc -c d.c
ar q libe.a b.o c.o d.o
ranlib libe.a
cc -o f a.o -L. -le
0996デフォルトの名無しさん
NGNG0997迅速千ゲッター ◆SLzINsok
NGNG0998迅速千ゲッター ◆SLzINsok
NGNG0999迅速千ゲッター ◆SLzINsok
NGNG1000迅速千ゲッター ◆SLzINsok
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。