C言語なら、俺に聞け! <21>
レス数が1000を超えています。これ以上書き込みはできません。
0001伝説の日下部陽一
NGNGいろいろな言語を極めたが、一番手になじむのはCだった。
Cのことならぜんてわかるから、疑問な点があったら漏れに聞け。
だが、いちいちFAQに載った質問に応えるほど暇じゃない。
課題丸投げなら別スレにいけ。
・comp.lang.c FAQ
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/
推薦図書/必読書のためのスレッド PART3
http://pc.2ch.net/test/read.cgi/tech/1016722820/
・前スレ
<20> http://pc.2ch.net/test/read.cgi/tech/1021459016/
他のリンクは>>2-を見な。
0002伝説の日下部陽一
NGNGぼくもgccは好きです!
http://gcc.gnu.org/
タダで使えるBorland C++!
http://pc.2ch.net/test/read.cgi/tech/1002377328/l50
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
0003デフォルトの名無しさん
NGNGお疲れー
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG( ´Д` )< ともっち!大好きだ−!
/, / \___________
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNGもはや知らん人の方が多いと思われ。
0008デフォルトの名無しさん
NGNG\やつら殺してやりたいよ〜
\__________
∨ ∧_∧
" 。 。 ミ / ̄ ̄ ̄ ̄ ̄
ゝ∀ く < あらあら、まあまあ
∧_∧ | \_____
三 ( とノ
三 / つ |
三 _ ( _ /| |
(_ソ(_ソ(_ )
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG3ヶ月前まではこんなことを言って皆さんをハァハァさせてしまいました。
http://pc.2ch.net/test/read.cgi/tech/1014370940/
だけど、それから優しいお兄さんたちにいろいろと教えてもらいながら、
勉強することで、C言語を大体マスターすることができました。
今ゲームを開発しているのですが、兄さんは僕自身を開発するとか
言って、なかなかプログラミングに集中させてくれません。
質問するたびに僕の体を触ってくるので正直困っちゃってます。
ぼく自身、そういうのは好きだけど、それだけじゃゲーム作りが進まないので、
ここに質問させてください。よろしくお願いします。
FAQ的な質問ならぼくも回答します。間違いがあれば、先輩方の訂正を
お待ちしております。
なお、課題の○投げは一応別スレへ、ということでお願いします。
プライベートな質問に関してはスレの950が過ぎたあたりから受け付けますので
それまでそういったことは、なるべく謹んでください。
0011デフォルトの名無しさん
NGNG∧_∧ ( _ノ、ノ
( ´Д`) / / 。
/⌒ ⌒'/ / 。
/_/| / / 。
(ぃ9 ./ / // 。
/ / /3
( / //
\. \\
\. \\
> ) )
/ //
/ / /
/ / /
( ヽ ヽ
\__つ)
0012ともっち
NGNG3ヶ月前まではこんなことを言って皆さんをハァハァさせてしまいました。
http://pc.2ch.net/test/read.cgi/tech/1014370940/
だけど、それから優しいお兄さんたちにいろいろと教えてもらいながら、
勉強することで、C言語を大体マスターすることができました。
今ゲームを開発しているのですが、兄さんは僕自身を開発するとか
言って、なかなかプログラミングに集中させてくれません。
質問するたびに僕の体を触ってくるので正直困っちゃってます。
ぼく自身、そういうのは好きだけど、それだけじゃゲーム作りが進まないので、
ここに質問させてください。よろしくお願いします。
FAQ的な質問ならぼくも回答します。間違いがあれば、先輩方の訂正を
お待ちしております。
なお、課題の○投げは一応別スレへ、ということでお願いします。
プライベートな質問に関してはスレの950が過ぎたあたりから受け付けますので
それまでそういったことは、なるべく謹んでください。
0013デフォルトの名無しさん
NGNGノ⌒)
∧_∧ ( _ノ、ノ
( ´Д`) / / 。
/⌒ ⌒'/ / 。
/_/| / / 。
(ぃ9 ./ / // 。
/ / /3
( / //
\. \\
\. \\
> ) )
/ //
/ / /
/ / /
( ヽ ヽ
\__つ)
我慢できない、、、、
0014デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGいい加減にしろよ!!
0017991
NGNG>>前スレ994さん
その参考書には、「C言語ではグラフィックに対して
規定の書き方が米国の委員会では定まっていないため
いろいろあるから、オーソドックスなものをここに記す。」
みたいな事を書いていたのですが、
そのgraphics.hないので困ってます。
そこで、グラフィックソフトのglibw32.libをDLし
解説どおり.cfgのIとLにパスを書いたのですが、
うまくincludeできません。#include"glibw32"
としても、コンパイルしかけたあとに
外部シンボルがどうとか言ってエラーになります。
DOS上で「bcc32 〜.cpp glibw32.lib」とすれば
うまく表示できます。フォルダの階層も間違いなく
指定できてるように見えるのですが…。う〜ん。
0018デフォルトの名無しさん
NGNG@いぼん
0019デフォルトの名無しさん
NGNG申し訳ありません>C墓のみなさん
みなさん、ここは技術板です。
プライベートなネタはマ板でよろしくお願いします。
http://pc.2ch.net/prog/
0020デフォルトの名無しさん
NGNG#include <graphics.h>
はヘッダーを取り込むだけ。
標準以外のライブラリはコマンドラインなりで明示的に指定しないとリンクできない
#pragma comment(lib, "glibw32.lib")
これで出来るかもしれない
0021デフォルトの名無しさん
NGNG( ´Д` )< 誰になんと言われようとも俺はともっちのことが好きだ−−−!
/, / \___________
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \
0022デフォルトの名無しさん
NGNGともっちは俺のだから、見てるだけにしといてね
0024デフォルトの名無しさん
NGNGWin32のスレとか、VC++のスレとか、使い分けて分散して欲しい。
0025デフォルトの名無しさん
NGNGでも質問の内容はCの構文と標準関数が殆どだよ。
0026do?f?l
NGNG実行形式ファイル名って自分で変えられる
・・・よね?
0027デフォルトの名無しさん
NGNG御心配なく。
a.outをwin.exeにリネームしてもコンソールにhollo worldがでてきましたから。
0028デフォルトの名無しさん
NGNGhorror word?
0029デフォルトの名無しさん
NGNG大量のcoreファイルが出力されました。
0030デフォルトの名無しさん
NGNGせめて、宿題は宿題スレに行ってほしいと思う今日このごろ。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG単なるファイルだからできる。
できるけどWinなら使えなくなる可能性はある。
0033デフォルトの名無しさん
NGNG( ´Д` )< >>19なんでてめえがあやまってんだよ!
/, / \___________
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \
0034デフォルトの名無しさん
NGNG0035クラカーの卵
NGNG0036質問
NGNG// TODO: この位置にコントロール通知ハンドラ用のコードを
追加してください
CWnd * h=GetDlgItem(IDC_PICT1);
CDC * pDC=h->GetDC();
CButton*r1=(CButton*)GetDlgItem(IDC_RADIO1);//チェックボタン
CButton*r2=(CButton*)GetDlgItem(IDC_RADIO2);
CButton*r3=(CButton*)GetDlgItem(IDC_RADIO3);
CPen p,*oldp;
if (r1->Getcheck())
p.CreatePen(PS_SOLID,1,RGB(255,0,0));
else if (r2->Getcheck())
p.CreatePen(PS_SOLID,1,RGB(0,255,0));
else
p.CreatePen(PS_SOLID,1,RGB(0,0,255));
oldp=pDC->SelectObject(&p);
pDC->Ellipse(20,20,150,150);//円を書く
pDC->SelectObject(oldp);
}
--------------------構成: a02 - Win32
Debug--------------------
リソースをコンパイル中...
コンパイル中...
a02Dlg.cpp
C:\VC++6.0DATA\TEST1\a02\a02Dlg.cpp(186) : error C2039:
'Getcheck' : 'CButton' のメンバではありません。
c:\program files\microsoft visual
studio\vc98\mfc\include\afxwin.h(2704) : 'CButton'
の宣言を確認してください。
C:\VC++6.0DATA\TEST1\a02\a02Dlg.cpp(188) : error C2039:
'Getcheck' : 'CButton' のメンバではありません。
c:\program files\microsoft visual
studio\vc98\mfc\include\afxwin.h(2704) : 'CButton'
の宣言を確認してください。
cl.exe の実行エラー
a02.exe - エラー 2、警告 0
なんで??
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNGこれほど親切なエラーメッセージより分かりやすい説明は漏れには出来ん
0039質問
NGNGちゃんと宣言してるのに。しだりないってか?
0040デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGさらに言えば質問する前にスレを選んで欲しい。
0043質問
NGNG0044デフォルトの名無しさん
NGNG三村 (;´д`).。oO( Typo かyp! )
0045デフォルトの名無しさん
NGNGこっちへ。
Pythonお勉強スレッド Part2
http://pc.2ch.net/test/read.cgi/tech/1020718991/l50
0046デフォルトの名無しさん
NGNG連続して呼んだら結果失われる?
0047デフォルトの名無しさん
NGNGその通り。結果を残しておきたかったら、どこかにコピーしなければならない。
0048デフォルトの名無しさん
NGNGC言語でのブール値の扱いについてなんですが、
#define FALSE 0
#define TRUE (!FALSE)
ってありますが、
これって
#define FALSE 0
#define TRUE 1
でも同じですよね、
!FALSEの式の値は1なので。。。。(組み込みの演算なので)
厨房の漏れに教えてください。
0049デフォルトの名無しさん
NGNG0050785
NGNG0051デフォルトの名無しさん
NGNG005250
NGNG005348
NGNGそうです。
C99には_Bool型ってのがあるらしいけど。。。
0054デフォルトの名無しさん
NGNGゼロを非ゼロにします。
K&Rか規格書でも読みなさいな
0055デフォルトの名無しさん
NGNGstrcmpの戻り値は1,0,-1のどれかだと思っている人も多い。
005648
NGNGそれは資料等を見て、知っておりますが、
int i;
i= !0;
printf("%d",i);
ってやると
1
という結果が得られるのですが、
是は処理系依存?
vc++とgcc(cygwin)ではそうなったのですが。
もしかしたら、 組み込みのブール値扱いになって、!0自体の式の値が1に
なって、こういう結果になるのかなって思いまして。。。
0057デフォルトの名無しさん
NGNGそうか、ありがとう。
なんで構造体直接返さないんだろう。
0058デフォルトの名無しさん
NGNG処理系依存。
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNGそれだと辞書順ソートができないだろうが。
006154
NGNGK&Rには0か1しかならないと書いてあった。
0062デフォルトの名無しさん
NGNGstrcmpは同じかどうかを判断するための関数じゃなくて、大小を比較するための関数。
0063デフォルトの名無しさん
NGNG何ページ?
0064デフォルトの名無しさん
NGNG構造体を=を使ってそっくりそのまま代入できると保証されたのはANSI Cからだからじゃない?
0065デフォルトの名無しさん
NGNG結果の型はint。
処理系依存じゃないよ。
0066デフォルトの名無しさん
NGNGそうなのか。
じゃあこれからはi=1の代わりにi=!0を使おう。
0067デフォルトの名無しさん
NGNG似たことをやるときも「結果はここへ書け」というアドレスを引
数として渡すのがC伝統のスタイル。
最近Unixで追加されたリエントラントなバージョン(localtime_r
とかasctime_rとかstrtok_rとかgethostbyname_rとか)もその
スタイルになっている。
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG勉強になる、感謝
0070デフォルトの名無しさん
NGNG必要なときは自分でコピーしろと。Cらしいな。
0071デフォルトの名無しさん
NGNGこの戻り値から推測するに、、、
fopen()でどこかにFILE構造体の変数を宣言して、fclose()で変数解放って寸法でしか?
ストリームとか全然分からないけど
0072デフォルトの名無しさん
NGNGそういう時はライブラリのソースを読むのが一番よい。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGやぱーりメモリ確保して解放してたのね。
ライブラリてソースややこし。
#if の嵐。
0075デフォルトの名無しさん
NGNG猫んどけ。
0076デフォルトの名無しさん
NGNGhttp://www.bekkoame.ne.jp/~medaka/r_c/c_class.html
↑ここなんかなかなかわかりやすいと思うのだが・・・・
0077デフォルトの名無しさん
NGNGいやしかし、しょっぱなから void main()とやっているな・・・・・
やっぱり勧めるのやめようかな・・・・・
0078デフォルトの名無しさん
NGNGint *p ;
p = (int *)malloc(0) ;
これって、pの値は処理系依存ですか?
それとも、NULLになるんですか?
0079デフォルトの名無しさん
NGNG008048
NGNG65さん
ありがとう〜。
組み込みのブール値扱いでよかったんですね。
008178
NGNG不定って、もしかして、あの
「何が起きても、おかしくない」
っていう不定ですか
0082デフォルトの名無しさん
NGNGそうそう
コンピュータがいきなり壊れても
突然ペットの犬(ジェニファー)が死のうとも
突然アナルにバイブが差し込まれても文句は言えない。
0083shige
NGNGちなみに、malloc(0) がユニークなポインタを返す場合は、malloc() がふつうに返すポインタと同じで、malloc() が管理する領域に "少なくとも 0 バイト" の領域を作ってその先頭のアドレスを返すだけである。NULL を返さない理由としては、
n バイトの領域を確保する
その n バイトの領域を使う
最後にその n バイトの領域を解放する
という一連の処理で、n が 0 か 1 以上かで場合分けしなくてすむようになるから、というのが考えられる。
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGそこの所をお間違えなく。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNGlong nc;
nc=0;
while(getchar() != EOF)
++nc;
printf("%ld\n",nc);
ってやってるのに、testとタイプしても何も表示されません。
次の
double nc;
for(nc = 0; getchar() != EOF; ++nc)
;
printf("%.0f\n",nc);
でも文字数がカウントされるはずなのに何も表示されません。
ご教授ください
0091デフォルトの名無しさん
NGNGWindowsならCtrl+Z、UNIXかまたはWindowsでもcygwinならCtrl+Dを押して
EOFを入力すること。
009290
NGNGおお、できました。
勝手に最後をEOFと見てくれないんですね。
勉強になりました。
0093
NGNGtest とタイプした後、EOF の入力として CTRL-D をタイプする。(UNIX or Linux)
Windows or DOS なら CTRL-Z だっけ?
このスレかどっかでも議論になってたな。
もしくは
0094デフォルトの名無しさん
NGNG一行読み込んだ時点で最後と見なされる仕様だと
二行目以降が扱えないじゃん・・・
0095デフォルトの名無しさん
NGNGそんな時は全体をwhile (1)かfor (; ; )などで囲めばよい。
0096デフォルトの名無しさん
NGNGmalloc(0)の値は不定じゃないです。
0097デフォルトの名無しさん
NGNG不定だよ。C++のnewと混同してない?
0098デフォルトの名無しさん
NGNGfree(0)が無害なのと混同してるだろ。
0099デフォルトの名無しさん
NGNGrealloc(p,0)がfree(p)と等価なのと混同しているだろ。
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG010296
NGNG7.20.3 Memory management functions
If the size of the space requested is
zero, the behavior is implementation-defined: either a null
pointer is returned, or the behavior is as if the size were
some nonzero value, except that the returned pointer shall
not be used to access an object.
「null pointerを返すか、あたかもnonzeroの引数が渡されたかのように振る
舞う(ただし返されたポインタはオブジェクトをアクセスするのには使えない)。
どちらになるかは処理系定義。」
0103デフォルトの名無しさん
NGNG不定じゃないけど処理系依存。
どちらにしろ迷惑。
つーかmalloc(0)なんて無意味なことはやめろ。
0104デフォルトの名無しさん
NGNGうーんそりゃ困った・・・
0106デフォルトの名無しさん
NGNGいや、レスの後半は質問した奴に対するレス。
0107デフォルトの名無しさん
NGNG禿しく外出のことを今さら書いて
鬼の首でも取ったように偉そうに…
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGえ? sizeof(struct nantoka)って定数だろ。
0110デフォルトの名無しさん
NGNGああ、リスト、二分木構造があったか・・・
0111C初心者
NGNGD,5,5
と送信するだけのプログラム書いてもらえませんでしょうか?
すいません。Cがまだ未熟なもんで・・・これさえできません。
お願いします
0112デフォルトの名無しさん
NGNGint main()
{
return send_comm(1, "D,5,5");
}
0113デフォルトの名無しさん
NGNGA non-null pointer returned by a call to the calloc,
malloc, or realloc function with a zero requested size
is used to access an object (7.20.3).
0114デフォルトの名無しさん
NGNGC++のnewと同じだね。考え方は。
0115デフォルトの名無しさん
NGNGWindowsならこうなる。OSとか処理系とか書けよ。
hCommDev = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
str[0] = 'D';
str[1] = '5';
str[2] = '5';
WriteFile( hCommDev,(void *)str, 3, &WriteByte, NULL );
0116デフォルトの名無しさん
NGNG二次方程式の解なんですが、
ax2+bx+C=0
b2−4ac<0が虚数解になる旨を表示するソースプログラムはどう書けばいいんですか?
というか、数学が苦手分野なので解かりません
どなたか教えて下さい
(2乗がわかりづらくてスミマセン)
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNGprintf("虚数解になる\n");
0119デフォルトの名無しさん
NGNG× b2−4ac<0が虚数解になる
○ ax・・・=0が虚数解になる
ifをつかえ
0120デフォルトの名無しさん
NGNGscanfを飛ばしてloopに行ってしまいます・・・
ソースの一部↓
printf("RU = %f\n",RU);
printf("続けますか?(y/n)");
scanf("%c",&flag);
printf("\n");
if(flag='y') goto loop;
else ;
0121デフォルトの名無しさん
NGNG==
0122デフォルトの名無しさん
NGNGb*b-4*a*c<0
0123デフォルトの名無しさん
NGNGミスの指摘ありがとうございます。修正しました。
しかし、今度はscanfを飛ばしてプログラム終了してしまいます・・・
0124デフォルトの名無しさん
NGNGscanf("%c", &flag);
↓
read(0, &flag, sizeof flag);
では駄目か?
それともscanf関数を使う縛りがある?
0125デフォルトの名無しさん
NGNGfflush(stdin);
scanf("%c",&flag);
か
scanf(" %c",&flag);
/*input bufferの振る舞いは実装依存*/
0126デフォルトの名無しさん
NGNG同じ結果です・・・
0127デフォルトの名無しさん
NGNG出来ました。ありがとうございます。
しかし、何が悪かったのかわからない・・・
0128デフォルトの名無しさん
NGNGfflush(stdin)でできたということは、標準入力に残っていた文字が原因だったということでしょう。
fflush(stdin)はやらない方が良い方法なんだけど。
0129デフォルトの名無しさん
NGNG実装依存だからね。
0130デフォルトの名無しさん
NGNGじゃなくて、同じ実装でも毎回同じ結果とはかぎらない。
0131デフォルトの名無しさん
NGNG・何が起っても不思議ではない。
未規定の動作(unspecified behavior)
・規定された何通りかの動作のうちいずれかになる。
処理系定義の動作(implementation-defined behavior)
・未規定の動作のうち、どれになるか処理系が文書で明示しなければならない
もの。
0132デフォルトの名無しさん
NGNG( ´Д` ) < おなにしますた
/, / \_______
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \ ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ /~\ \ ( ´Д`) < しますた
/ / > ) (ぃ9 ) \_______
/ ノ / / / ∧つ
/ / . / ./ / \ (゚д゚) スマタ
/ ./ ( ヽ、 / /⌒> ) ゚( )−
( _) \__つ (_) \_つ / >
0133デフォルトの名無しさん
NGNG0134拡大
NGNG゚( )−
/ > . モミジマンジュー
↑
0135デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´Д` ) < おなにしますた
/, / \_______
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \ ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ /ω\\ ( ´Д`) < しますた
/ / > ) (ぃ9 ) \_______
/ ノ / / / ∧つ
/ / . / ./ / \ (゚д゚) スマタ
/ ./ ( ヽ、 / /ω> ) ゚( )−
( _) \__つ (_) \_つ / >
0136笑む獅子
NGNG0137デフォルトの名無しさん
NGNGプロジェクトに追加する。
0138デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNGVC++のcl.exeなら/link [.libファイル名]
0143デフォルトの名無しさん
NGNG0144笑む獅子
NGNGヘッダファイルになんて書けば良いの?
sample.lib
include<sample.h>
int main(){
}
0145笑む獅子
NGNG0146デフォルトの名無しさん
NGNGもしくは、
#include <voke.h>
#pragma comment(lib, "voke.lib")
int main()
{
}
0147笑む獅子
NGNG共立出版の聖書を買うべきだった・・・
0148笑む獅子
NGNG0149笑む獅子
NGNGなんでそうなるの?
変な事例として
何も書かないint main(){}
test.cをコンパイル
>bcc32.exe test.c
するとtest.obj , test.exeが出来る
>tlib test.lib +test.obj
このtest.lib
を使うのにその方法はどうかと
0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG0153哀む師仔
NGNGみーんなだーいきらい
0155デフォルトの名無しさん
NGNGうざいな。お前。消えろ。
教えてもらう気がないならこのスレに顔をだすな。
0156
NGNG0157
NGNGヘッダに知らない文法で宣言してあるよみ
0158デフォルトの名無しさん
NGNG秋葉原人らしからぬ言動だな。。けしからん!「萌え」と言え!
0159
NGNG0160デフォルトの名無しさん
NGNG私はUNIXでemacsとgccコンパイラを用いてC言語を勉強しています。
先日、fork()を習ったのですがfork()が一体どういう仕組みなのか分かりません。
fork()は自分自信を複製するものだということで
fork();
printf("A\n");
と記述すればAが2つ出力されることは分かりました。
ところが先生が例として書いたプログラムの中に
i=fork();
というのがでてきました。こうなると、iに一体何が代入されているのか分かりません。
i=fork();
fork();
printf("%d\n", i);
などとしてあるとi=0 i=0 i=4836 i=4836の4つがこの順番で表示され
fork();
i=fork();
printf("%d\n", i);
とされてあるとi=0 i=4851 i=0 i=4852のようにこの順番で表示されるのですが、
何がどのようになって、なぜこのように順番が変わって結果が表示されるのかが
さっぱり分かりません。
もしよろしければどうか教えてください。
0161デフォルトの名無しさん
NGNGある程度までは説明があるのですけれども
肝心なものから逃げています
つまりそれは.libと.hなのですみ
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGman fork
0164デフォルトの名無しさん
NGNGC言語の質問と言うよりUNIXの質問だな。
しかもマニュアルすら読んでないことが明らかだ。
まずは >>163 のとおり。
0165デフォルトの名無しさん
NGNG配列aと一つの値Keyを引数とし、Keyに等しい値を持つ配列要素を見つけてその
添字の値を返す関数を作れ、Keyに等しい値がない場合は-1を返す
関数原型は次のとおりとする。
int search(int a[], int size, int Key );
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGdefine使ってたような・・・
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNGint i;
for(i = 0;i < size;i++)
if(a[i] == Key)
return i;
return -1;
}
0170デフォルトの名無しさん
NGNG宿題は宿題スレで…
それにしてもレベル低すぎるぞ
0171デフォルトの名無しさん
NGNG探索法の中でも最も単純な方法じゃないか。
0172デフォルトの名無しさん
NGNG俺に聞けって言うから悩みを相談してるのに、救済措置もないのかYO!
0173デフォルトの名無しさん
NGNG>>169
0174165
NGNG0175デフォルトの名無しさん
NGNGどの悩みじゃ?
このスレは回転速いから自分の質問を上げたレス番号を>>xxxで示すよろし
0176デフォルトの名無しさん
NGNGunsigned i, j, k, index;
srand(time(0));
for (i = 0; i < (unsigned)-1; i++)
for (j = 0; j < (unsigned)-1; j++)
for (k = 0; k < (unsigned)-1; k++) {
index = rand() % size;
if (a[index] == Key)
return
}
return -1;
}
0177デフォルトの名無しさん
NGNG(unsigned)-1・・・・
limits.hのUINT_MAXでいいような・・・
0178デフォルトの名無しさん
NGNG殴られたい?
0179165
NGNG簡単な質問ですいません一昨日はじめたばっかなんで
0180デフォルトの名無しさん
NGNGmain関数からsearch関数を呼ぶ。
0182デフォルトの名無しさん
NGNGabort();
0184165
NGNG0185デフォルトの名無しさん
NGNGは質問になってないぞ。どれかのの途中だろ?
0186デフォルトの名無しさん
NGNG{
int array[] = {0,1,2,3,4,5},index, n;
char buf[256];
puts("0〜5まで探したい値を入力してね(^-^)"):
if((index = serach(array, sizeof array, atoi(gets(buf)))) != -1)
printf("それはarray[%d]に入ってるよぉ〜♪", index);
else
puts("んなもんありゃしない(´-`)y-~~");
return 0;
}
0187デフォルトの名無しさん
NGNGどうしたらいいですか。って、あなた自分でint search(int a[], int size, int Key );と定義したんでしょ?
それに見合う引数を渡せばいいの。
int ia[]{4,2,92,54,222,8,1};
search(ia, sizeof size/sizeof(int), 8);
とか。
0188デフォルトの名無しさん
NGNG1バイトのchar型以外はsizeof arrayをsizeof(type)で割らないと。
0189デフォルトの名無しさん
NGNG0190187
NGNG○ int ia[]={4,2,92,54,222,8,1};
0191187
NGNGsizeof iaだろ(T_T)
もう嫌(T_T)
01921
NGNG0193165
NGNGstdio,stdlibをちょろっとやったんで
0194デフォルトの名無しさん
NGNG最初のputsにセミコロンとsearchとsizeof array/ sizeof(int)を適当に修正してちょ
0195デフォルトの名無しさん
NGNGまあ、ゆっくり一つずつ確実に覚えてゆこうよ。
0196笑む名無し
NGNG買っちゃえばいいんだよな〜
いまさらvc6++,bcb5もな・・
C#ってもううってんの?いくら?VBより早い?学割きく?
msからパンフとどいたよ、ムチャクチャ高いYO
0197質問
NGNGとかの[20]ってどういう意味があるの?
これがないとエラー出る場合とない場合あるけど。
0198165
NGNG0199デフォルトの名無しさん
NGNG要素数。
int array[]={1,2,3};とやった場合は必要な要素数をコンパイラが自動的に判断してくれるからOK
0200デフォルトの名無しさん
NGNG\ - /
0201デフォルトの名無しさん
NGNG関数内だったら定義も兼ねて20バイトのメモリ領域が割り当てられる。
初期化している場合に限り添え字はつけなくても構わない。
その時は代入している数をコンパイラが数えて必要量確保してくれる
0202201
NGNG\ - /
0203165
NGNGもう一ついいですかね?
2つの整数の最大公約数を求める関数を作りたいんですけど
最大公約数がMAX(x,y)だとすると
MAX(x,y)==MAX(y,x%y)
で大丈夫ですかね?
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG0206165
NGNGそういう難しい言葉だとわからないんですけど....
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG・・・・
(;;;´-`).。oO(そろそろ引篭ってないで数学でもやり直すかなぁ)
0209デフォルトの名無しさん
NGNGsizeof array/ sizeof(int) って
(sizeof array) / sizeof(int) じゃないとまずくない?
sizeof演算子は / より優先度高いし。
さらにいえば (sizeof array) / (sizeof array[0])にしたいけど
0210デフォルトの名無しさん
NGNG36と24の最大公約数は12とかだったような・・・・
やべー、小学校からやり直さないと!
0211デフォルトの名無しさん
NGNGgoogleで 最大公約数 検索しる
0212デフォルトの名無しさん
NGNG優先度が高いから括弧は必要ないんじゃない?
0214スレ立てようと思ったけどやめた
NGNGコメントアウト? コメント化?
じゃあコメントしてある部分を元に戻すのは? コメントイン?
なんかおかしい・・・
コメントにする行為、コメントを外す行為
を対義語として納得できるような単語をみんなで考えませんか?
0215デフォルトの名無しさん
NGNGコメント除去->萎
0216デフォルトの名無しさん
NGNG0217214
NGNGかなり深い問題だったようですね。
マジメに議論したらそれだけでこのスレが終わりそうだから
やっぱスレ立てたほうがいいかな。
でもマ板向けっぽいしなぁ。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGここではなく、マ板なら需要あるべ。
スレ立ててみぃ。
てか、ここでヤルなよ (゚Д゚)ゴルァ
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGっていうか、口で伝えるなら自分でやれば半分以下の時間で終わるぞ
0224214
NGNG立てました。
0225デフォルトの名無しさん
NGNG彡 ノW \从/V W \ ミ
( ノ | ノ \)
∩V 、、 | >V7
(eLL/ ̄ ̄\/ L/ ̄ ̄\┘/3)
(┗( )⌒( )┛/
~| \__/ | \__/ |~ / ̄ ̄ ̄ ̄ ̄ ̄
爻 < | ; 爻 <更新するなら早くしろ、でなければ帰れ
~爻 \_/ _, 爻~ \______
~爻__/⌒ ̄ ̄ ̄~~ヽ_ 爻~
/ ー ̄ ̄\_ ̄\
_一‘ < ̄ ̄\\\J
<\ ー ̄ ̄ヽ_ヽJ  ̄\_
\ _ニニニヽ ) ~\
\ _/⌒|\ ヽ_~~ ~⌒\_
__/~ V \_| ~\_
0227
NGNGscanf("%d",&no);
(*po[no])( haich1);
ってあってますか?ポインタ関数
0228デフォルトの名無しさん
NGNGここの2番目の質問の答えで
-IC:\Borland\Bcc55\Include
-LC:\Borland\Bcc55\Lib
とかいてあるんですがこれをDOSプロンプトを
開いて打てということでしょうか??
0229デフォルトの名無しさん
NGNG>BCC32.CFGを作成しなければなりません
0230デフォルトの名無しさん
NGNG作り方を教えてください。
0231デフォルトの名無しさん
NGNGこれでも使え。
http://www.cmagazine.jp/setbcc.html
0232デフォルトの名無しさん
NGNG自分で作ってみたいんでですけどむずかしいですか?
0233デフォルトの名無しさん
NGNGメモ帳でもつかえ。
DOSプロンプトがお気に入りなら、
一.DOS プロンプトを開いて
二..BCC をインストールしたディレクトリに移動し
三.以下のように打ち込む。ctrl+z で終了だ。
>copy con BCC32.CFG
-IC:\Borland\Bcc55\Include
-LC:\Borland\Bcc55\Lib
0234デフォルトの名無しさん
NGNGstruct a{ int x,y;};
class b {
struct a c={1,2};
};
0235
NGNG〜年〜日〜時〜分〜秒または
〜y〜d〜h〜m〜sと変換するようなうまい関数はないでしょうか?
なければ、modでちくちくやるしかないんでしょうかね?
0236デフォルトの名無しさん
NGNGスレ違いだけど一応答えておきます。
struct a {
int x, y;
a(int i, int j) { x = i; y = j; }
};
class b {
struct a aa;
b() : aa(1, 2) {}
};
以降の議論はC++相談室で。
0237デフォルトの名無しさん
NGNGC++ スレにいけ。
>>235
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/ctime.3.html
0238デフォルトの名無しさん
NGNGlocaltime()
0239デフォルトの名無しさん
NGNGメモ帳使ったとしたらどうやって作るの??
面倒かもしれないけど教えてくれたらうれしいです。
0240デフォルトの名無しさん
NGNG説明書がついているはずだぞ?
0241デフォルトの名無しさん
NGNGすまん。白状するとメモ帳の使い方を知らんのだよ。
秀丸なら目を瞑ってでも使えるのだがな。
0242デフォルトの名無しさん
NGNG起動してみればわかるだろが。
Windowsの標準的なUIだし、機能少ないし。
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGネ(中略)マジレ(中略)ルイ!
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGカーン
(゚д゚)
( ×) ファイッ
/ >
0249デフォルトの名無しさん
NGNGつーか厨房板でやれ。
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG241はネタ
242はなんつーか、なんか通じない人
0255デフォルトの名無しさん
NGNGしかたないけどね。
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG天然と思われてます??
まじでわかりません。
ファイル名がBCC3
拡張子が.cfgのファイルを作るってことでしょうか?
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGメモ帳を起動して、
-IC:\Borland\Bcc55\Include
-LC:\Borland\Bcc55\Lib
を入力する。
BCC32.CFGという名前をつけて保存する。
場所はBinだったかな?
0261デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG"cd c:\"
"mkdir bcc"
"cd bcc"
とか操作をよく理解してないです。
それらを勉強するのにいいサイト若しくは書籍ないですか?
0266デフォルトの名無しさん
NGNGMS-DOSって書かれた書籍まだ書店にいくつか残ってるから買って。
0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNG\300程度のシェアウェアなら案外売れるかも。
0269デフォルトの名無しさん
NGNGコンパイルだけなら勉強するまでもなかろうよ。
必要なコマンドは10個もないだろ。
0270デフォルトの名無しさん
NGNGIDEじゃなかったかもしれんが、CPadは似たようなことができなかったか?
0271デフォルトの名無しさん
NGNGどんなの??
10こ書いてくれません?
0272デフォルトの名無しさん
NGNGIDEって??
0273デフォルトの名無しさん
NGNGありがとう。探してみます。
0274デフォルトの名無しさん
NGNGcd
dir
del
ren
bcc32
0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNGautoexec.batの編集とかは?
0277デフォルトの名無しさん
NGNGまともにつかえるとも思えない。
知識の無い香具師は、金で購え。
VC、BCB買え。本買え。
0278デフォルトの名無しさん
NGNG-L"c:\Borland\Bcc55\lib"
これも必要?
0279デフォルトの名無しさん
NGNG笑えない。
0280デフォルトの名無しさん
NGNG名前を変えて
もうネタとしか思えないんだけど(笑)
0281デフォルトの名無しさん
NGNGren BCC32.cfg.txt BCC32.cfg
0282デフォルトの名無しさん
NGNGメモ帳につっこんで直接書き換える。
0283デフォルトの名無しさん
NGNG同意。
技術、時間、金
どれか一つがあればPC道は成せる。
0284デフォルトの名無しさん
NGNG意味も教えてやれ。
0285デフォルトの名無しさん
NGNG勉強しますよ。
単にDOSの命令を知らなかっただけです。
0286デフォルトの名無しさん
NGNG> プリコンパイルヘッダーファイルは,ディスクにあるシンボルテーブルのイメージをファイルに格納しておき,
> 後でそのファイルをディスクから読み込むだけで済むので,すべてのヘッダーファイルを再び解析する必要がなく,
> コンパイル速度が著しく向上します。
> 特に複数のソースファイルの中に同じヘッダーファイルが入っているような場合は,
> シンボルテーブルをディスクから直接読み込む方が,ヘッダーファイルのテキストを解析するよりはるかに高速です。
(C++Builderのヘルプより)
だそうです。
どうするかと言うと、bcc32.cfgの後ろに
-H
-Hs
を追加します。
-Hsは-Hcでもいいのですが、-Hsだと-Hcほどメモリを使用しないらしいです。
で、bcc32.cfgはこうなります。
bcc32.cfg:
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
-H
-Hs
0287デフォルトの名無しさん
NGNGdir /?
del /?
ren /?
bcc32 /?
0288デフォルトの名無しさん
NGNGヘルプを見ろってことか。
0290デフォルトの名無しさん
NGNG保存するときにファイル名を "" で囲め。
0291デフォルトの名無しさん
NGNG俺?多分時間。
時間があれば試行錯誤によって技術力は向上する(効率は知らんが)。
技術があれば効率が上がり時間を有効利用できる。
で、金が何を生み出すかと言えば・・・俺にはわからない。
逆に金なんてない方が人間工夫する。
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGに、しても分相応って言葉がある。
0294デフォルトの名無しさん
NGNGまぁな。239がまともにbccをまともに使えるようになるかどうかわは
わからん。まともに使えると思えないといった277の気持ちもわかるが。
0295デフォルトの名無しさん
NGNGお前はBCCインストールするとき全て
失敗せずにわからないとこもなくできたのか?
0296デフォルトの名無しさん
NGNGやる気と根気があればなんとかなると思うよ。
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNGcd
dir
del
ren
bcc32
の意味とかわかってたんだろ?
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNGメモ帳を起動して、
-IC:\Borland\Bcc55\Include
-LC:\Borland\Bcc55\Lib
を入力する。
BCC32.CFGという名前をつけて保存する。
この作業は難しくなかった?っていうかどこにも
かいてなかったでしょ。俺もインストールするとき
まったくわからんかった。
0301デフォルトの名無しさん
NGNGまぁ、質問した彼も勉強する姿勢はしっかり持ってるんだから許してやろう。
コマンドの使い方を聞くんじゃなくて参考文献を聞いてくるんだ。PCQAのアフォより遙かにまし。
まぁ、彼にはWindowsとDOSの基礎からきっちり学んでもらうとして。w
0302デフォルトの名無しさん
NGNGreadme.txtは通常、説明書ファイルです。
0303デフォルトの名無しさん
NGNGあれ?確か書かれていたような気がするよ?
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNGちゃんと書いてあるよ。
0307デフォルトの名無しさん
NGNGreadmeでなくhelp
0308306
NGNG0309デフォルトの名無しさん
NGNG-LC:\Borland\Bcc55\Lib
じゃなくて
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
どっちが正しい?
0310デフォルトの名無しさん
NGNGスペースを入れろ。
0311デフォルトの名無しさん
NGNGパスにスペースはいるなら下
入らないなら従来バージョンの上でも動く。
ってとこじゃないの?
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGilink32.cfg ファイルはなぜダウンロードしたファイルにのなかになくて
自分で作らないといけないのでしょうか??
0316デフォルトの名無しさん
NGNGBCCをインストールする場所によって中身が変わるから。
0317デフォルトの名無しさん
NGNG使いたいライブラリによって…以下同文
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNGそういうツールをつけてもいいかもね。
インストール後、ダブルクリックでOKという感じで。
0320デフォルトの名無しさん
NGNG(インストーラがあれば)できるだろうがそうはなっていない。
現実を見なさい。営利団体のフリーのソフトに何を期待している?
0321デフォルトの名無しさん
NGNG手軽さ。
と言ってみたい。
それなら買えってことになるんだけど。
0322デフォルトの名無しさん
NGNG他のユーザーの引き抜きだから
インストールしても、ヘルプも見ない奴には使わせねーぞ
って言う某社の意気込み
0323デフォルトの名無しさん
NGNG2. インストール先の bin ディレクトリで次の手順を実行します。
a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。
b. bcc32.cfg ファイルを作成します。このファイルは,Include
および Lib パスのコンパイラオプション(コンパイラの -I
および -L スイッチ)を設定するものです。ファイルには次の
行を含めてください。
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
c. ilink32.cfg ファイルを作成します。このファイルは,Lib
パスのリンカオプションを設定するものです。ファイルには
次の行を含めてください。
-L"c:\Borland\Bcc55\lib
ちゃんと書いてあるよ。この説明が初心者にわかりやすいかどうかは別にしてもだ。
0324デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/soft/win95/prog/se180695.html
いんすとらは無いがな
0325デフォルトの名無しさん
NGNGbcc のインストーラーは Cマガジン についてなかったか?
0326デフォルトの名無しさん
NGNG>>231 で紹介した。その返事が >>232 だった。
0328初心者
NGNGwarning:unknown escape sequence: '\' followed by char code 0x48
っていうエラーがでるんですが、何がいけないのでしょう。
この行には printf("番号の順にソートする\n");
とだけしか書いてないんですが・・
0329デフォルトの名無しさん
NGNG\nのnが全角になっていたりしない?
0330デフォルトの名無しさん
NGNGコンパイラは何?
0331デフォルトの名無しさん
NGNGEUCで上記を書き直すか、\をどっかの2バイト文字の後に入れる。
0332?
NGNGor
番\の順にソートする\n
0334デフォルトの名無しさん
NGNG\__ ______
∨ ∧_∧
" , 、 ミ / ̄ ̄ ̄ ̄ ̄
ゝ∀ く < あらあら
∧_∧ | \_____
三 ( とノ
三 / つ |
三 _ ( _ /| |
(_ソ(_ソ(_ )
0335初心者
NGNGうーん。。どうやるんだろ・・
比較の方法でいこうと思うんですが、値をいれかえていくとき、
たとえばkou[1]って構造体の中身とkou[2]って中身を入れ替えたいときって、
もうひとつ記憶するやつがいりますよね?tempとか適当において。
その型っていうのは何なんだろう・・
int じゃないし、char でもない・・・ う〜ん
0336デフォルトの名無しさん
NGNGコンパイルできるようにするにはどうしたらいいんでしょう?
けっこう頑張って調べたのですが挫折しました。
0337デフォルトの名無しさん
NGNGstruct HOGE {
int a;
char c;
} hoge;
として
struct HOGE temp;
でコピーできる。
0339デフォルトの名無しさん
NGNG0x48って'H'だね。\Hって文字の並びがその行のどこかにあるね。
0340初心者
NGNGtemp = kou[i];
kou[i]= kou[j];
kou[j]= temp;
じゃまずいのかな・・ tempの中身もkouと同じ型を同じ分だけ揃えてるし・・
imcompatible types in assignment って相変わらずいわれてる・・
>>339
実は、隠れてるのか!あっちゃ、まずいんですね。
0341
NGNGstruct foo kou[???];
struct hoge { ... };
struct hoge temp;
ってしているだろ。
struct hoge { ... };
struct hoge kou[???];
struct hoge temp;
ってするんだよ。
0342デフォルトの名無しさん
NGNG同じ型を揃えてる・・・ってことは
struct {
} temp;
struct {
} kou[10];
とやってる?
struct KOU {
} kou[10];
struct KOU temp;
とやるんだよ。
0343342
NGNG0344341
NGNG仲良くしよう。
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNGなら人間やめな(省略)
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG単なる、メイドインジャパン だろ?
それが分からない位で人間やめてたら(省略)
0350デフォルトの名無しさん
NGNGけど、そもそもコンソールで sjis/eucj 読めるの?
0351336
NGNGnkfってことはいったんソースを全部書き換える必要があるのでしょうか?
makefileでさくっと処理する書き方はありますか?
Windows上でソースの開発をしてるのでLinuxでは
直接読めなくての構わないのです。
Linux上で表示する場合は、内部でEUCに変換するコードをかましてます。
0352デフォルトの名無しさん
NGNG0353336
NGNGなるほろ・・・。
ワーク用のディレクトリを作って、そこでまとめて変換して
コンパイルすれば良さそうですね。
EUC変換コードを外さないと・・・。
gcc、SJIS対応オプションとか追加してくれないかな・・・。
0354デフォルトの名無しさん
NGNGgcc 2.95 だから同じバージョンならそのパッチあてたら通るように
なるかもね。gcc を make しなきゃならんが。。
それとも誰かが作っているかもしれない。漏れは知らないけど。。
0355デフォルトの名無しさん
NGNG仕事で使うからですか?
趣味ですか?
学生ですか?
0356デフォルトの名無しさん
NGNG例えば中2からプログラムを始めるとする。
大学卒業時にはキャリア9年の日曜プログラマの誕生だ。
0357デフォルトの名無しさん
NGNGただし、初期化なしで宣言された場合はRAMに配置されます。その場
合、初期値は自動的にゼロになることが保証されています。
ROMに配置されることを回避しつつ、これを任意の値に初期化する
ためにはどのようにすればよいでしょうか?
0358デフォルトの名無しさん
NGNG.SUFFIXES .sjis
.sjis.c:
nkf -e < $> > $@
a.c:
0359デフォルトの名無しさん
NGNGbss
0360336
NGNGパッチあててgccをmakeですか・・・。
DJGPPの2.7.2用ならここにあるようでした。
http://www.st.rim.or.jp/~jack/djgpp-jp.html
gccはこれかな?ただうちのは2.96なので合わないかも。
http://www2.airnet.ne.jp/pak04955/patch.htm
>>358
nkf -e < $> > $@
makefile初心者なものでこの意味を勉強してみます。
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNG連番のファイル名を作りたいのです。例えばfile001.txt,file002.txt,,,のような。
このときに便利のいい関数あるいは作り方はあるのでしょうか?
sprintf(filename,"file%3d.txt",i);
のような書き方では「file 1.txt」になりますよね。。。
0363デフォルトの名無しさん
NGNG数値から文字列にする時の効率のいい処理ってあるのかしら....
0364デフォルトの名無しさん
NGNG( ´Д` ) < おなにしますた
/, / \_______
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \ ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ /ω\\ ( ´Д`) < しますた
/ / > ) (ぃ9 ) \_______
/ ノ / / / ∧つ
/ / . / ./ / \ (゚д゚) ボクモ男デス
/ ./ ( ヽ、 / /ω> ) ゚( )−
( _) \__つ (_) \_つ /ω>
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG関数とかあれば教えてください。
0368362
NGNGありがとうございます、その通りです。
素早いレスに感謝!
0369デフォルトの名無しさん
NGNG今夜早速やってみよっと!
0370デフォルトの名無しさん
NGNGどうすれば良いでしょうか?
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNGはっきり言って標準ライブラリないの関数の機能くらい覚えてくれ。
sting.hなんてただでさえ使うこと多いんだから。最近は少ないか。
strstr
0373デフォルトの名無しさん
NGNG> ディレクトリとファイルの判別するにはどうしたらいいのですか?
残念ながらCの標準関数にはディレクトリをどうにかする関数はない。
ディレクトリの配下を調べるためにも非標準の関数をつかわなければならない。
unixの場合、(winは知らん)
stat関数でファイルの状態を取得し、
S_ISREG()、S_ISDIR()マクロでファイルかディレクトリかを判定できる。
0374デフォルトの名無しさん
NGNG多いだろ(w
0375デフォルトの名無しさん
NGNGWin(っていうかDOS)はFindFirstとFindNextにフラグ与えればよかったと思う。
0376デフォルトの名無しさん
NGNG大抵は標準関数を少し工夫して使うと希望通りに動作するね。
定番はitoaの代わりにsprintfを使うことだね。
0377デフォルトの名無しさん
NGNGいや、みんなCStringとかさ・・・。C++だけど。
って言うか可変長文字列犯罪的に便利です。
法規制すべきです。w
0378デフォルトの名無しさん
NGNGGetFileAttributesで。
0379デフォルトの名無しさん
NGNG標準ライブラリにはない。OS依存。
WinならGetFileAttributes(filename)&FILE_ATTRIBUTE_DIRECTORY
Unixならstat(filename, &stat_buf), S_ISDIR(stat_buf.st_mode)
0380デフォルトの名無しさん
NGNGいつの時代の人間ですか?
0381NOT 377
NGNGあなたの意見を聞きたい。
0382デフォルトの名無しさん
NGNG標準ライブラリだけで生きてたころ・・・。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGはい。
雇ってください。
0386デフォルトの名無しさん
NGNGなぜCに詳しいんですか?独学ですか?
0387デフォルトの名無しさん
NGNG今日、中間テストで分からなかったので、適当に解答欄をCソースで埋めておきました
こんな漏れでも、PGできますか?
0388デフォルトの名無しさん
NGNG学校で一通り習った後、独学で。
0389デフォルトの名無しさん
NGNG高校生かよ、俺が高校生の時代パソコンなんて触らせてもらえなかった。
というかパソコンなんて家になかった。
0390デフォルトの名無しさん
NGNG大学?
0391デフォルトの名無しさん
NGNG専門学校
0392デフォルトの名無しさん
NGNG家にPCなかったら、ちとキツいなぁ
張り切ってC勉強してきます。えっへん
0393デフォルトの名無しさん
NGNGむかつくのでタイーホ
0394デフォルトの名無しさん
NGNGまず、紙のキーボードで#include1000回。
stdio.hの書き取り100回&丸暗記。
それを一週間続ければPCを使わせてやろう。
精進せぇよ。
0395デフォルトの名無しさん
NGNGVC++6.0付属のstdio.hの中身を丸暗記してきます!!
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNG使われているんですか?
ふと気になったもので・・・
0398デフォルトの名無しさん
NGNGstdio.h の丸暗記・・・
0399デフォルトの名無しさん
NGNGUNIXのファイルシステムのpermissionだ。
0400デフォルトの名無しさん
NGNGフォルダの中にファイルがいくつあるか分からないじゃないですか?
んで、char* pFile[1000];とかやっちゃうと1000個までしか調べられませんよね。
いくつあるか分からない場合、その場に応じて拡張?できるような変数の確保の仕方ってどうやるんですか?
0401デフォルトの名無しさん
NGNGUNIXシステムコールのopen関数のフラグとか。
#define O_RDONLY 01
#define O_WRONLY 010
etc
0402デフォルトの名無しさん
NGNGmalloc,calloc,realloc
0403デフォルトの名無しさん
NGNG凄いなぁ
0404デフォルトの名無しさん
NGNGどうもありがとうござんす。
0405デフォルトの名無しさん
NGNG誤爆しているけど、>>399にも言えよ。
0406デフォルトの名無しさん
NGNG例を挙げると
char word[] = "apple";
BOOL flag = FALSE;
if (strcmp(word, "apple") == 0) {
flag = TRUE;
else if (strcmp(word, "orange") ==0) {
flag = TRUE;
else if (strcmp(word, "lemon") ==0) {
flag = TRUE;
}
この場合、判定が3つだからまだ良いですけど、判定対象が100個とかあった場合に
if文を100個連ねるのはスマートじゃない気がします。
何か良い方法は無いでしょうか?
0407デフォルトの名無しさん
NGNGsystem("awk 〜 >a.txt");
fp = fopen("a.txt","r");
ごめん。
0408デフォルトの名無しさん
NGNG並列でやる方法も考えればあるけどバカらしい。
0409デフォルトの名無しさん
NGNGステートマップを作るか、ツリーを作る
どっちにしろ死ぬほど面倒。
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGint main()
{
char *keywordlist={"aaa","bbbbb","cc"};
if(lookup("bbbbb",keywordlist,sizeof keywordlist/sizeof keywordlist[0]))
printf("あった\n");
else
printf("なかった\n");
return 0;
}
int lookup(const char *str,char *list[],size_t size)
{
int i;
for(i=0;i<size;i++)
if(strcmp(str,list[i])==0) return 1;
return 0;
}
0413デフォルトの名無しさん
NGNGちょっとの工夫で一気にシンプルだね。
戻り値は何個目の項目が該当するか返したほうがいいかも。
結局ifで判定する羽目に・・・w
0414デフォルトの名無しさん
NGNGじゃあ、return 0;return i;にして、return 0をreturn -1に。
呼び出し側の条件式も変えないと・・・
0415406
NGNGえ?ちょっとよく分かりません。すいません。
>>408-409
やはり、if文100個の方がマシでしょうか?
>>411
テーブルというのは、
char *word[] = { "apple","orange","lemon",・・・・・"banana" }
みたいに比較対象のデータを持つという意味ですか?
これでループでまわして判定するんですよね?
見た目は分かりやすそうですが、手間は同じような感じになりますね。
0416デフォルトの名無しさん
NGNGん?実行スピードはほとんど変わらないかもしれないけど、
手間は大幅に減るだろ。
0417デフォルトの名無しさん
NGNGchar *keywordlist={"aaa","bbbbb","cc"};
*keywordlist[]。一応つっこみ
0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNGqsort()とbsearch()を組み合わせるとよいかも。
0420406
NGNGやはりそれだと見た目は非常にすっきりしてますね。
結局はif文判定と同じですけど。
ループか、ループ展開の差しかないかな、結局。
0421デフォルトの名無しさん
NGNGあ、全然気づかなかった(汗
0422デフォルトの名無しさん
NGNGだって、結局総当り。
例えば工夫してデータ[1][1],データ[2][1],データ[3][1]・・・データ[1][2],データ[2][2],データ[3][2],・・・
の順位比較して該当しなくなったものから検索対象から外していく。とか。
でも、そこまでする必要があるのかは疑問。
0423デフォルトの名無しさん
NGNGテーブルにあらかじめ整列して入れておけばいいんだし。
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNGバカサーチ
0427デフォルトの名無しさん
NGNG考えるっていうスレッドがあったな。
0428406
NGNGあ、手間という意味をちょっと違う意味で書いてしまいました。
人間が書く時は手間は減りますね。
if文を処理するPC上の手間という意味で使ってました。
>>419
>>423
今の私のレベルじゃちょっと実装方法がよく分からないので、勉強してみますね。
>>422
そうですね。とりあえず、テーブルにデータを持ってループさせるやり方で
やってみることにします。
その後、>>419さんや>>423さんの方法を考えてみたいと思います。
0429デフォルトの名無しさん
NGNGqsortとbsearchはCの標準関数。自分で実装する必要はない。
そのアルゴリズムを勉強することはよいことだけど。
0430デフォルトの名無しさん
NGNG圧縮とかそういうんでなければあんまり気にする必要はない
0431デフォルトの名無しさん
NGNG俺もそう思うんだけどね、やけに効率にこだわるから・・・・
0432デフォルトの名無しさん
NGNGやって遅かったら悩め。
0433デフォルトの名無しさん
NGNGtry&errorカコワルー
と言ってみるテスツ
0434デフォルトの名無しさん
NGNG金魚をバズーカ砲で攻撃するよりはスマートかと。
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNG毒物でもなめてみて死んでみてください
0437デフォルトの名無しさん
NGNG二分木以外にもハッシュ表とかTrieとかいろいろあると思うけれども。
メモリに収まらないくらいでかくなるならB木とか。
今回の用途ならハッシュ表が一番適している気がする。
メモリ容量に糸目をつけないならTrieが最も速い。
0438デフォルトの名無しさん
NGNGPCのいいところはちょっと位失敗しても失うものは電気代くらいなところです。
0439デフォルトの名無しさん
NGNG2分木より100倍、ハッシュと比べるとそれ以上遅いだろうに。
まあ、用途によっては気にならんのかな。
0440デフォルトの名無しさん
NGNGおそくなったら気になるわな。
0441デフォルトの名無しさん
NGNG文字列からハッシュ表参照する式って。
0442デフォルトの名無しさん
NGNGおれが良く使うのは、
unsigned int h = 0;
while (*str) {
h = (h << 3) ^ *str++;
}
0443デフォルトの名無しさん
NGNGあとはハッシュ表サイズ(素数)で割った余りを取ればよい。
0444デフォルトの名無しさん
NGNG試してみた。
長さ1024バイトの文字列10240個をリニアサーチしたら700ms弱でした。
どう考えても気にならないでしょう、この程度。
0445デフォルトの名無しさん
NGNGダメなの?
0446デフォルトの名無しさん
NGNGだから用途によるだろ。
コンパイラやインタプリタで変数名や関数名1個ごとに700msもかかってたら
やってられねーって。
ちょっと工夫すれば(10240個でも)1ms未満にできるわけだから。
0447444
NGNG0449デフォルトの名無しさん
NGNG割る前の数値の作り方が単純だと、素数で割らないと偏る。
均一に分布しないとハッシュの意味がない。
極端な話、文字列の最初の4バイトを1024で割ったら、結局
下位10ビット以外を捨ててることになる。
0450デフォルトの名無しさん
NGNG最初の4バイトをそのままって意味が分からんけど。
そのままどう使うの?
各アスキーコードを足すの?
0451デフォルトの名無しさん
NGNGなるほど。
しかし、それだと比較ごとに除算で非効率になるから、
ハッシュ関数を練った方が良いと思う。
静的に決定できるなら、gperfとかで一発だけどね。
0452デフォルトの名無しさん
NGNGん?ああ、一回700msじゃなくて全体でか。
検索一回あたりの比較回数では、
リニアサーチ: 最悪10240回、平均5120回
二分探索: 最悪14回、平均13と14の間
ハッシュ: 最悪???回、平均1〜2回
だから、二分探索だと731分の1くらいになる。
0453デフォルトの名無しさん
NGNGunsigned hash = *str++;
if (*str) hash = (hash << 8) + *str++;
if (*str) hash = (hash << 8) + *str++;
if (*str) hash = (hash << 8) + *str++;
0454デフォルトの名無しさん
NGNGcode = *(int32_t*)&string % 65521;
とかでしょ
0455デフォルトの名無しさん
NGNGgperfは除算使うんじゃなかったっけ。
つーか、カナーリ複雑な演算だった気がする。
衝突がないから比較は1回ですむけど。
0456デフォルトの名無しさん
NGNGそれ、境界があってないとひどいことになるような。
規格的には未定義動作だよね。
0457デフォルトの名無しさん
NGNGああ、説明が悪かったね。
素数で除算するより、シフトで解決した方が早いから
テーブルのサイズは2^nにするべきだと考えていたんで。
勿論、動的の場合。
静的ならgperfで
0458デフォルトの名無しさん
NGNGunionにしとけばよい。
0459デフォルトの名無しさん
NGNG除算法とは,キーをハッシュ表のサイズで割った余りを使う方法である.キーの値を
K,ハッシュ表のサイズをMとすると,
h(K) = K mod M
となる.ただし除算法には問題があって,表のサイズMが素数でないとあまり良いハ
ッシュ関数にならない.特に,M=2nのときには最悪で,キーの下nビットだけしかハ
ッシュ関数に使われない.
0460デフォルトの名無しさん
NGNG>>442あたりの式を適当に使っておけば良いのかな。
0461デフォルトの名無しさん
NGNG>もちろんサーチ対象と先頭1023バイトは一致、最後の1バイトのみ不一致
>の文字列
>で計測
つまり文字列の種類はたかだか255個しかない表?
どんな表だ(藁
0462デフォルトの名無しさん
NGNGどんなに要素が多くても。
0463デフォルトの名無しさん
NGNGなぜ煽ってるんだかサッパリ分からないんだけど?
文字列の種類は検索対象1種類、検索文字列1種類
最後の1バイトが違うだけの2種類だ
単純なリニアサーチでもっとも遅くなる状況を作ったんだけど。
0464デフォルトの名無しさん
NGNG入ってるからそれ使えばよい。なければソースを持ってくる。
お勉強ならいちから書いても良いけど。
0465デフォルトの名無しさん
NGNG検索することなんか気にせずランダムに配列に入れちゃったデータなら
そうだろうね。
でも「ランダムにやって来るデータを、あとで1回だけ検索する」なら
どう考えてもハッシュとかの方が速いだろ。
0466デフォルトの名無しさん
NGNGふつうそれだと表の大きさは2にしかならんのとちゃう?
0467462
NGNGああ、入力されるごとに処理できるようならハッシュの方が速いね。
一行ずつ読みとりながらハッシュテーブルに登録するとかね。
0468デフォルトの名無しさん
NGNGstd::vector< std::string > sv(10240, pattern);
これなら表のサイズは10240個だけど。
0469デフォルトの名無しさん
NGNGint main(void);
int main(void)
{
printf( "%d\n",1.1 );
return (0);
}
は間違ったぷろぐらむですけど
実行すると
-1717986918という値が帰ってきます。
なぜですか?
0470デフォルトの名無しさん
NGNGリニアサーチのベタ比較で何も問題ないだろ。
そらお勉強でもレスポンスが帰ってくるのに何十秒もかかるなら考えた方が良いが、
>>444で試したような最悪なケースでも1秒以下なんだからそれで良いじゃないか。
それを横から>>439みたいなのが出てきたからややこしくなっただけでさ。
0471デフォルトの名無しさん
NGNG結果が未定義だから。浮動小数点数を無理矢理intの表現で読むと、
そのように見えると言うこと。
0472デフォルトの名無しさん
NGNG(int)1.1とやれば思い通りになるかも。
0473デフォルトの名無しさん
NGNG小数点以下は切り下げなんですね。
0474デフォルトの名無しさん
NGNGやっとCを勉強できる状態になりました。
0475デフォルトの名無しさん
NGNGおめでと
age
0476デフォルトの名無しさん
NGNGえ。仕事だろ?
> >>444で試したような最悪なケースでも1秒以下なんだからそれで良いじゃ
> ないか。
まああんたはリニアサーチ以外知らなかったんだろうが、「効率の良い方法」
聞いてるやつにそんなの教えるなって。
> それを横から>>439みたいなのが出てきたからややこしくなっただけでさ。
掲示板に横からも後ろからもあるかい(w
0477[email protected]
NGNG「高性能ビデオスタビライザー」です↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA
店頭販売価格は、13900 円なんですが、
今回だけ、破格の 7700 円に設定して
おります。
購入希望の方は、メールを下さい。
不安な方は、落札をして頂いても
構いません。
0478デフォルトの名無しさん
NGNGまぁ、なんと思っても良いけど。
漏れはひたすら最適化ばかり気にしてる最適化厨は嫌いだから、
この辺にしといてくれや
0479デフォルトの名無しさん
NGNGctrl+Z?
0480デフォルトの名無しさん
NGNGAlt Ctrl Del
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGCTL+D
0483デフォルトの名無しさん
NGNGint main(void);
int main(void)
{
int limit;
limit=100;
int a[limit];
return (0);
}
これどこが間違ってるんですか?
0484デフォルトの名無しさん
NGNG基礎が。
0485デフォルトの名無しさん
NGNGあなたの人格もねw
0486デフォルトの名無しさん
NGNG配列に限界がないところが
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNG逆ギレしないでくさい。あーくさ。
0489デフォルトの名無しさん
NGNGすまそ。配列のa[]の中に変数を入れたらダメってこと?
0490デフォルトの名無しさん
NGNGエラーメッセージの読めないヤシはカエレ!!
を付け足してほしい
0491デフォルトの名無しさん
NGNG正解。
0492デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int a[LIMIT];//俺が悪いんじゃない!変数名を適当に決めた>>483の責任だ!
return 0;
}
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGここCスレ…
0495デフォルトの名無しさん
NGNG0496484
NGNGなーんつって。
0497デフォルトの名無しさん
NGNG自分の星に帰れ。
0498デフォルトの名無しさん
NGNG代入文の後に宣言文があるのはだめなの?
0499デフォルトの名無しさん
NGNGint a[limit];
のようにコンパイル時にサイズが決まるものはよかったような・・・・
int limit;
limit=100;
int a[limit];
なんてやるのは駄目だと思うけど。
0500499
NGNG0501デフォルトの名無しさん
NGNGそうだったんか。
俺、今までmalloc使うものだとばかり思ってたよ。あはははは
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNGmalloc使うのはサイズが分からないときだけでしょ。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNGint limit=100;
int a[limit];
ができるならサイズ計算して動的に確保できるな、っていうボケだごるぁ。
0509デフォルトの名無しさん
NGNGというかおまえが言ってる
0510デフォルトの名無しさん
NGNGコンパイラが融通が聞けば、コンパイル時に分かるじゃない。
0511デフォルトの名無しさん
NGNG互換性が電子の渦の中に消失するという罠
0512510
NGNG○ 利けば
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNG{
BUFSIZE = 1024,
...
};
char buf[BUFSIZE];
はCでもOK?
0517デフォルトの名無しさん
NGNGC99のアイディアのかなりの部分はgccから来ていると思われ。
>>516
OK。
0518デフォルトの名無しさん
NGNGなこたーない。IntelのコンパイラでもSunのccでもDEC(Compaq)のccでも
SGI(Cray)のccでも使える。
(つか、使えないと行列演算ライブラリさえまともに書けない。)
0519デフォルトの名無しさん
NGNG使えなくても困らないけど。
0520デフォルトの名無しさん
NGNGまあ、行列演算ライブラリをVC6で書いたりはしないだろうな。
0521デフォルトの名無しさん
NGNG別に可変長配列じゃなくてもヒープに確保すればいいじゃねーかよ
VCで書いた行列演算ライブラリあるし、そんなこと言ってる奴には
一生かかっても使うことも作ることも出来ない。
Sunのコンパイラよりは遙かに賢いしな<VC
0522デフォルトの名無しさん
NGNG#define N ...
double a[N][N], b[N][N], c[N][N];
int i, j, k;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
double x = 0.0;
for (k = 0; k < N; k++) {
x += b[i][k] * c[k][j];
}
a[i][j] = x;
}
}
となるが、これをライブラリにする(つまりNを可変にする)
には、可変長配列が使えないと今どき番地計算を自分でシコ
シコ書く馬鹿みたいなコードになるか、あるいは効率の悪い
jagged array(1次元配列へのポインタ配列)になる。
0523デフォルトの名無しさん
NGNGSunのコンパイラとVCをどうやって比べたの?
0524デフォルトの名無しさん
NGNG教えてください。
0525デフォルトの名無しさん
NGNGどの本でも解説してるでしょ。
0526デフォルトの名無しさん
NGNG多分、各種POSIX準拠の関数のことだと思う。
0527デフォルトの名無しさん
NGNGLinuxでも作るんかいな。
0529デフォルトの名無しさん
NGNGあんなのに準拠したライブラリを持つようなOSは出てくるのかな?
それよりなんでこのスレ、二日で半分以上使ってるわけ??
0530デフォルトの名無しさん
NGNGPOSIXとSingle Unix Specificationを統合したやつだよね。
ほとんど現状追認(+多少のclean up)じゃないの?
0531デフォルトの名無しさん
NGNGマ板に行かずにネタや雑談する人が増えたから。
0532デフォルトの名無しさん
NGNGプログラム板とプログラマ板の違いってなに??
0533デフォルトの名無しさん
NGNG人 <=> 技術
ネタ
0534デフォルトの名無しさん
NGNG逆だなぁ〜
0535デフォルトの名無しさん
NGNGの変換をしたんですが、どうするのが一番知的で
かっこいいですか?
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGアホな質問が多いから、そう感じるだけで>>533が正しい
まぁ、そのうち(すでに?)どうなるかは分からんが
0538535
NGNG探したけど、見つかりませんでした。
0539533
NGNG一応分割時の状況とかもわかってたんだけど。
ムギ板/ギ板という略称を申請
0540デフォルトの名無しさん
NGNGnkf
unicodeには対応していないけど。
で、なんでここで聞く?:-)
0541540
NGNG0542デフォルトの名無しさん
NGNGunicode ⊃ sjis,eucj だから完全にスルーな変換はできないよ。
つか、誰でも知ってることですが。。。
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG0545猫大好き ◆MwneRkSI
NGNGCGI などを作るときにファイルの指定はどのようにしたらいいのでしょうか?
例えば、c:\dir\myfile.txt というファイルを開こうと思ったら
fopen("c:\dir\myfile.txt","w") 処理;
でできますか? また、UNIXの場合には
/dir/myfile.txt などのように指定すればいいのでしょうか?
0546デフォルトの名無しさん
NGNG特に間違ったことは言ってない。
自分を信じて取りあえず試してから来いよ・・・。
0547デフォルトの名無しさん
NGNGだな。
0548デフォルトの名無しさん
NGNGとりあえずfopenの戻り値を受け取らないと使えないな。
0549デフォルトの名無しさん
NGNGファイル開くだけみたいだから良いんじゃないの...。(モードが "w" だから、
単に空のファイル作るだけとかさ。)
>>545
まず、>>547 の忠告聞いた上で、>>546 に従いな。でも、多分 CGI 故の
ディレクトリ指定ではまりそうだから、そうなったら WebProg 板へ逝け。
0550猫大好き ◆MwneRkSI
NGNGありがとうございました。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNGじゃないのか?
いずれにせよ、データファイルの位置はインストール時に
指定できるようにしないとしないと困るだろ。シェルスク
リプトやバッチファイルから環境変数で与えるとか。
UnixでもWinでも動くようにするつもりならなおさら。
まあコンパイル時に設定ファイルの絶対パスだけコードに
埋め込んじゃう(あとのパスは設定ファイルに書いとく)と
いうのもアリかもしれんけど。
0553デフォルトの名無しさん
NGNG.\ __ _______ ./
\ / | :| 佐川急便 | ./
.\ |^~~~|-|======| =33 ./
ウーー \  ̄◎ ̄◎ ̄ ̄ ̄◎ ̄ / プゥーン
\ /
ヾ 〃 \ / __
__,__ .\ ∧∧∧∧∧/ __| |_( ̄ ̄)
_| |_ .\ < > |ウンコ:(ニニニニ)ニ =33333
|━警視庁━| =3 \ < 働 >  ̄◎ ̄◎ ̄
 ̄◎ ̄◎ ̄ < 矛 く >
――――――――――――< .感 車 >――――――――――――
< .!!!! の > _凸_
<. > _| |_
ブーーーーン /∨∨∨∨∨\ | タクシー | =3
./ \  ̄◎ ̄◎ ̄
__ 二 _ − /ワッショイワッショイワッショイ \ ヴィーーン
|□ |_%%_= 二 / \
| _| =3 - / ヽoノ ヽoノ ヽoノ \ O
 ̄◎ ̄◎,, 三  ̄― ./ _ / / / \ ヽ‖/
/ /_| ノ) ノ) ノ) \ く く
./ |祭~| ̄ ̄ ̄ ̄ ̄ ̄| =3 \
/  ̄◎ ̄ ̄ ̄ ̄◎ ̄ \
0554デフォルトの名無しさん
NGNGプログラム終了時まで開きっぱなしはよくない。
0555凄いプログラムを書いた。
NGNG{
puts("Hello,world!");
}
0556デフォルトの名無しさん
NGNG+ . ,,;;-;_ .
* ,,--'''""`ヽ' -/"~  ̄`ヽ、 +
. / ヾ''" ~`ヽ
/ _,,,... ヽ;: /""ヽ ヽ .
+ / ;'" "\ l /;:;;:::-'''"ヽ, i *
. / /::::::::-'''''"~ ヽ, .|,
. / |;:" ヽ ! . +
/ / | |
* / 人 "'':;;::''''' i, | .
i '; ,,,,;;:::::::'''" .: ,,,,,, ヽ ヽ
| | " ,,,,,,,,, .:: ;''“”` | | *
+ | |: ;::''“”“~` ::::. ... |. i .
| i:: .:.:.:.:.::.. ::::: i .:.::.:.:.| ,;|
| ヽ. .:.:.:;:;:;:;:::.:.. :::: , _〉 .:.:;:;:.:.:| ,| .
+ | ノ:: ::.:.:.:.:.:.: :.:.:.:.:.| |, .
| 人::::.. ___,,,,,,,,...:;-' | | +
.. * | ;:'" `、ヽ 'ヾ,... ..ノ / | +
| ヽ:: \ :::::: ./ | .
| ::;|::. `ヽ、_ /'|ヽ./"
+ ,/. ::::::::::::;;:::人:. `'''----―'' .|: ヽ *
/;:;:;:;;:;;;;;;;;;;;;/ `ー、 ;-'" \ー-、
. ,.-'" \ \ ;:-''" .| `-:;;,,
/. \ "''''-ヽ、,.-''" |
,,..-‐'''"" ヽ ,.-''"\ : /―――-:;/
ともっちがかわいいと見抜けるようでないと、(ム板を使うのは)難しい。
0557デフォルトの名無しさん
NGNGhttp://www.asahi.com/obituaries/update/0525/002.html
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNG(゚д゚)ハァ?
0560デフォルトの名無しさん
NGNGそこで、ポインタの配列を返すようにみせかけるためには、先頭ポインタを使う。
ポインタの配列の先頭ポインタを返すことで、
受け取ったほうでポインタの配列をたどり、
ポインタ配列のポイントする(指し示す)値を得ることはできる。
このポインタの配列の、先頭のポインタを返す
↓
■→値
■→値
■→値
■→値
■→値
□
0561デフォルトの名無しさん
NGNGその方法やるときは、格納した要素数の情報も返さないといけないから、
結局は参照渡しが必要なのではないでしょうか?
0562デフォルトの名無しさん
NGNG文字列のときはいいかもしれんが、、、、
0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNGうまい!!
0565デフォルトの名無しさん
NGNG0566デフォルトの名無しさん
NGNG構造体の定義が増えてしまいそうなので、私は発想力のほうは
認めるが、実用性では認めない。
やはり参照渡しを使うべきだと思う。
関数を知っていて、参照渡しを知らないとなるとdqnだ。
0567デフォルトの名無しさん
NGNG関数を知っていて、参照渡しを知らないのはただの初心者。
たいした条件でもないのにそれに沿った答えを出せない奴の負け惜しみカコワルイヨ
0568デフォルトの名無しさん
NGNGポインタ配列だろ?
NULLを入れればいいじゃないか。
0569568
NGNG0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNGそれでは「returnで返す方法」という質問の意図に沿っていません。
そしてそれを一般に「参照渡し」と呼ぶような気がします。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNGもうその手の話題はやめようよ。
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGmainの中である番号i(int型)を取得し、そのiを別の関数に渡して、その
番号に対応した文字列をmainに返すというプログラムをつくりたいのですが、
int main(void)
{
char day(int);
int i;
printf("曜日コード入力\n"); scanf("%d",&i);
printf("%s\n",day(i));
}
char day(int j)
{
switch(j){
case 1: return ("月曜日");
case 2: return ("火曜日");
〜〜〜中略〜〜〜
default :return ("不正なコードです");
}
}
とし、コンパイルしたところ、case1からdefaultまでの各行に対して
warning: return from incompatible pointer type
と言われました。そこで、
int main(void)
{
char* day(int);//ここを変更
int i;
printf("曜日コード入力\n"); scanf("%d",&i);
printf("%s\n",day(i));
}
char* day(int j)//ここを変更
{
switch(j){
case 1: return ("月曜日");
〜〜〜以下省略〜〜〜
としたところ、エラーもでず実行することも可能でした。これまで関数を
ポインタとして定義する(と言う表現でいいのかどうかわかりませんが)
ということをした事が無いのでなにか違和感があるのですが、こういう
やり方で何か問題はありますか?
あるいはもっと他に一般的なやり方があるのでしょうか?
ちなみにコンパイラはcygwinのgcc2.95.3-5を使いました。
0579デフォルトの名無しさん
NGNG空の配列を表現できない。
複数の要素が同じポインタを指す可能性のある配列には使えない。
よって、>>576 は、単なるバカと決定しました。
0580デフォルトの名無しさん
NGNGこれは何?
char (*day)(int);ならわかるけど。
0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNG文字列を返したい場合、関数の戻り値は
char *
だ。
文字列は、文字の配列だから、先頭ポインタで返す。
"STR"は、[S],[T],[R],[\0]という配列のことだから、
[\0]を出力関数が見つけて、そこで出力が終わる。
0584デフォルトの名無しさん
NGNG> 関数をポインタとして定義する
と言う考え方が間違い。たんに、「char へのポインタを返す関数」を定義してる
だけ。通常これで問題ない。
0585581
NGNG関数内に書くとは珍しい・・・
0586デフォルトの名無しさん
NGNGうん ? 単なる標語か ? 今回の話には関係ないと思うが...。
それとも文字列リテラルだから const char *day() にしろと言いたい
のか ?
0587デフォルトの名無しさん
NGNGつーことは、そのどっちもとっくに気付いているおれはやっぱり天才
0588デフォルトの名無しさん
NGNGだろうな。
戻り値には普通つけないと思うが・・・・
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNG普通すぐ気付くし、多分みんなとっくに気付いていると思って書き込ま
ない。うれしそうに書き込むのは、バカだけ。
0591デフォルトの名無しさん
NGNGそう、チミは天才、よって、チミはもうここで学ぶものは無いから、来なくていいよ。
0592デフォルトの名無しさん
NGNG間違ってはいないということですね。
constについてはよく知らないのでまた勉強しておきます。
どうもありがとうございました。
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNG考えが向いてしまっている奴は、低レベルな奴だと思う。
0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNGじゃあ君は低レベルなんだ。
0598デフォルトの名無しさん
NGNGボクみたいな、人の意見に批判すら出来ない程度のヤシはどうですか?
もちろん答えなんて出せません
0599デフォルトの名無しさん
NGNGオマエモナ
0600デフォルトの名無しさん
NGNG自分の発見した方法の問題点について考察することなしに、
天才を気取る奴は低レベルな奴だと思う。
それと、ほとんどが批判でなく指摘。
0601デフォルトの名無しさん
NGNGまた、クラスとして使えますか?
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGお前ら、558への解答は、できないわけありませんよね?
0606デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´Д` )< うざいぞ!!氏ね!
/, / \___________
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \
0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG0611デフォルトのクライアントさん
NGNGいくら稚拙な解答でも、ケチだけつけて、「当たり前だから」とか「分かってたから」書かなかったとか後になって言っておしまい。って、なんだなあ。
きっと頭のいいひとたちなんだろう(僕が見たソフト屋さんはみんなそうでした)から、よいよい解を与える努力をすればいいのに。
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNG( ´Д` ) < >>611うるせー馬鹿!
/, / \_____________
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \
/ /~\ \
/ / > )
/ ノ / /
/ / . / ./. (゚д゚) <バカ
/ ./ ( ヽ、 ゚( )−
( _) \__つ / >
0614デフォルトの名無しさん
NGNGみんなその辺は心得ていて、
「論拠無き発言はネタ」
とフィルタリングしてる。
たまにウブなのかアフォなのかしらんが騒ぐ奴が居るが。
0615デフォルトの名無しさん
NGNGお ま え は ば か だ !
0616デフォルトの名無しさん
NGNG0617デフォルトのクライアントさん
NGNGそうですか。世間知らずなソフト屋さんも若干名ここにはいらっしゃるということですね。残念だけど僕もフィルタリング(わら)の技術を磨こうと思います。
じゃあROMに戻ります。失礼しました。
0618始めて1週間・・
NGNGコンパイラのエラーとかですかね?やっぱり?・・・
#include < stdio.h >
void main()
{
char s[256] = "hello,world";
fprintf(stdin,"%s\n",s);
}
0619始めて1週間・・
NGNGX コンパイラのエラーとかですかね?
○ コンパイラのバグとかですかね?
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGfprintf(stdout,"%s\n",s);
0622デフォルトの名無しさん
NGNG↓
コンパイルもせずに動いてくれないと言っている
↓
ネタ
↓
面白くない
↓
放置
0623デフォルトの名無しさん
NGNG<と>の横にスペースを入れるとコンパイルエラーになる
処理系があるから、スペースを入れないよう習慣づけるべき。
0624始めて1週間・・
NGNG初めて聞きます・・・・(汗
0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNGじゃあ stdin は知ってんのかよ・・・?それの同類だ。調べれ。
0628デフォルトの名無しさん
NGNGちょとエラー出るけど、我慢しる
0629デフォルトの名無しさん
NGNG> そしてそれを一般に「参照渡し」と呼ぶような気がします。
イワネーよバカ。
Cに参照渡しがあったらC++いらねー(ってのは嘘だが
0630デフォルトの名無しさん
NGNGいや、ダメプログラマ・・・。
0631始めて1週間・・
NGNG授業中寝ててstdinもなんなのかよくわからないままやったのが
悪かったのでしょうか・・・
ちょっと本を読んでみます(;;)
0632デフォルトの名無しさん
NGNG禿同
0633デフォルトの名無しさん
NGNG質問するまえにこれからは、予め本やネット等で調べてからにしようね
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNG0636nero
NGNGトラック越えのデータ取得はデキマスカ?
マルチセッションの cd から検索したいのです。
0637デフォルトの名無しさん
NGNGcdda2wavあたりのソースを見るのが早いんでないか?
0639デフォルトの名無しさん
NGNG0640教えてほしいです!
NGNGページを開くと他にも次々にページがでるようにしたいんですけど
どうやるかわかる人いますか?
いたらおしえてほしいです!お願いします!!!
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNG場違い。氏ね!
0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNG屑は氏ね
0645デフォルトの名無しさん
NGNGテーマに沿った板ならオールマルチポストは有効だ。
間違って答えるアフォが居るから。
でも、板違いでそれやったところで痛いだけ。
次はWebProgに行ってバカにされるんだろうな・・・。
0646デフォルトの名無しさん
NGNG-― ̄ ̄ ` ―-- _
, ´ ......... . . , ~  ̄" ー _
_/...........::::::::::::::::: : : :/ ,r:::::::::::.:::::::::.:: :::.........` 、
, ´ : ::::::::::::::::::::::::::::::::::::/ /:::::::::::::: : ,ヘ ::::::::::::::::::::::: : ヽ
,/:::;;;;;;;| : ::::::::::::::::::::::::::::::/ /::::::::::::::::::: ● ::::::::::::::::: : : :,/
と,-‐ ´ ̄: ::::::::::::::::::::::::::::::/ /:::::::::::r(:::::::::`'::::::::::::::::::::::く
(´__ : : :;;:::::::::::::::::::::::::::/ /:::::::::::`(::::::::: ,ヘ:::::::::::::::::::::: ヽ
 ̄ ̄`ヾ_::::::::::::::::::::::し ::::::::::::::::::::::: :●::::::::::::::::::::::: : : :_>
,_ \:::::::::::::::::::::::::::::::::::::::::::::: `' __:::::::::-‐ ´
(__  ̄~" __ , --‐一~ ̄
もうだめぽ…
0647デフォルトの名無しさん
NGNG..\ ( ,,)┌―─┴┴─――┐ . . /
∧∧ \ / つ.もうだめぽ . .│ /
/⌒ヽ) \ 〜′ /´.└―─┬┬─――┘. /
i三 ∪ \ ∪ ∪ .││ _ε3 ./ λ...... λ...... λ......
○三 | \ ゛゛'゛'゛ ./
(/~∪ \ ∧∧∧∧∧. / λ...... λ..... λ......
三三 もう \ . < >
三 だめぽ \< .だ .> もう
三三 三 . < 予 .め .> だめぽ
――――――――――――< 感 .す >――――――――――――
< !!!! れ >
<. の >
∨∨∨∨∨
-― ̄ ̄ ` ―-- _
, ´ ......... . . , ~  ̄" ー _
_/...........::::::::::::::::: : : :/ ,r:::::::::::.:::::::::.:: :::.........` 、
, ´ : ::::::::::::::::::::::::::::::::::::/ /:::::::::::::: : ,ヘ ::::::::::::::::::::::: : ヽ
,/:::;;;;;;;| : ::::::::::::::::::::::::::::::/ /::::::::::::::::::: ● ::::::::::::::::: : : :,/
と,-‐ ´ ̄: ::::::::::::::::::::::::::::::/ /:::::::::::r(:::::::::`'::::::::::::::::::::::く
(´__ : : :;;:::::::::::::::::::::::::::/ /:::::::::::`(::::::::: ,ヘ:::::::::::::::::::::: ヽ
 ̄ ̄`ヾ_::::::::::::::::::::::し ::::::::::::::::::::::: :●::::::::::::::::::::::: : : :_>
,_ \:::::::::::::::::::::::::::::::::::::::::::::: `' __:::::::::-‐ ´
(__  ̄~" __ , --‐一~ ̄
もうだめぽ…
0648デフォルトの名無しさん
NGNGこんなゴミ野郎と同じ日本人かと思うとものすごく不愉快なんですが。
背中の辺りがぞわぞわします、マジで氏んで欲しい。
0649デフォルトの名無しさん
NGNG0650教えてほしいです!
NGNGお前が氏ね!FUCK OFF!
わからないからいえないんだろ!
ドアホ!
0651デフォルトの名無しさん
NGNGvoid*かchar*の違いだけだと思うのですが、、、
ご教授お願いします。
0652デフォルトの名無しさん
NGNGmemcpy() は、'\0' があってもコピーする。(だから、バイト数が必要)
0653デフォルトの名無しさん
NGNGあ、、、なるほど。ども、ありがとです
0654デフォルトの名無しさん
NGNGstr*は'\0'より後ろは処理(strcpyならコピー)しない
0655デフォルトの名無しさん
NGNGどもども、thanxです
勉強のためにmemcpy()を自作したいのですが、(第1,2)引数は何の型にキャストすればよろしいでしょうか?
やはり、const char*でしょうか?
0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGなるほど。。。どもどもthanx、勉強逝ってきます
0658デフォルトの名無しさん
NGNG第1引数は、const char * じゃまずいだろ。書き込むんだから...。
0659デフォルトの名無しさん
NGNGあ、すいません。ですよね、途中で気付きました(汗
0660デフォルトの名無しさん
NGNG第一引数(destination)はchar *
第二引数(source)はconst char *じゃないすか。
0661デフォルトの名無しさん
NGNG配列や構造体ではなくて。
0662デフォルトの名無しさん
NGNGどもどもthanx。やっとdestの意味が分かりました^^;;
0663デフォルトの名無しさん
NGNG運命とか思っていたか?
0664デフォルトの名無しさん
NGNGいえいえ、自爆かと
0665memcpy厨
NGNG0666デフォルトの名無しさん
NGNGコンパイラだって、OSだって自作は可能
0667デフォルトの名無しさん
NGNGプログラミング言語Cに作り方のひとつが載っていた。
0669デフォルトの名無しさん
NGNGおいおい、>>666 は、「C だけで」と言ってるわけじゃねーぞ。
コンパイラは、いいとして OS を C だけで作るのはちょっと無理かと...。
0670デフォルトの名無しさん
NGNGOS依存にしたくないなら巨大な配列取っとけばよろしい。
お勉強ならそれで十分。
0671デフォルトの名無しさん
NGNGそうなんすか、、、脳内修正しときます
>>670
K&R持ってない罠。本屋に頼んどきます
関係ないけど、林晴比古さんはダメらしいですね。何故でしょうか?
自分、あれから入ったのですが、、、
0672デフォルトの名無しさん
NGNG実際そうやってCだけで書かれたOSもあったと思う。
nachosだっけ。CPUから全部エミュレートしてるやつ。
でかいファイルを仮想のディスクにしてファイルシステム
とか書いてみるときっと勉強になると思う。
0673デフォルトの名無しさん
NGNGNULが返ってきた後にまたfgetsを読んでも
すべてNULLが返ってくるとしていいんですか?
0674デフォルトの名無しさん
NGNGK&Rはやめとけもっといい本はいくらでもある
0675デフォルトの名無しさん
NGNG大きい本屋に行くと Lion's Commentary Unix という本が売ってるはず。
Unix 第 6 版のカーネルのソースコードを整形してコメントをつけたもの。
たった 1 万行程度の アセンブラ(数百行くらい) + C で OS が成り立っている。
内容を理解するのは難しいと思うので
目次を立ち読みしてリッチーカコイイとか思ってくれ。
0676673
NGNG0677デフォルトの名無しさん
NGNGはっきり書いてあるのは見たこと無いけど常識的に
考えてそうだと思う。一度fgetsがNULLを返して、
その後ファイルの最後に書き込んでファイルが大きく
なったらどうかわからんが。
0678デフォルトの名無しさん
NGNGファイルシステムっすか。。
一時期ファルダを指定して、そこから最下層までアーカイブ、管理みたいなのは考えたことはあるんですけどねぇ
それすら作ってないですから、、
>>674
忠告thanx。どうもです^^;; でも、一応見て判断してみます
>>675
難しそうですが見てみたいので、探してみます。情報ども。
0680デフォルトの名無しさん
NGNGfseekとかrewindしてファイルポインタを動かせばEOFは解除されるからNULLじゃなくなるよ。
そーでなけりゃ、ずっとEOF状態のままだから(大体それ以上読み込むデータ無いんだし)NULLを返します。
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNGsystem 関数で呼び出すとか。
0683デフォルトの名無しさん
NGNGICMPを泣きながらながら実装。
0684デフォルトの名無しさん
NGNGおもしろい わらった
0685デフォルトの名無しさん
NGNG>たった 1 万行程度の アセンブラ(数百行くらい) + C
本当は何行なんだ?
0686デフォルトの名無しさん
NGNGオリジナルが何行だったかは知らないけど、
本のはコメントついて 9800 行ちょい。
もっと短かったんじゃないかな。
0688デフォルトの名無しさん
NGNGWin用なら
http://mio.servequake.com/~takky/programs/
の「プログラムパーツの部屋」の「マイクロソフトWinsock用ICMP資料」
が役に立つかも(HPの管理者がwinsock.comのをまとめたもの)。
ていうか、pingとtracerouteのソースそのもの。
0689デフォルトの名無しさん
NGNGtypedef strcut{
int foo;
} HOGE;
というのがあるとき、このファイルの外から
このHOGEは見えるのですか?
0690デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGそーです。
0694デフォルトの名無しさん
NGNG#include<stdlib.h>
int main(){
int i;
char a[10];
for(i=0;i<10;i++)
a[i]=' ';
scanf("%s",a);
for(i=0;i<=10;i++){
if (a[i]==' '){
printf("atari");
}
printf("%c\n",a[i]);
printf("%c\n",a[3]);
}
return(0);
}
このプログラムで数字を入力している途中スペースキーをおして、
再び数字を入力した場合、打ち込んだ数字をどうやって全部だすかおしえてください
0695デフォルトの名無しさん
NGNG質問の意味がよくわかりませーん。
0696デフォルトの名無しさん
NGNGスペースを押してしまったらバックスペースでやり直せばいいです
0697デフォルトの名無しさん
NGNGfor (i=0; i<10; i++) {
if (a[i] != ' ')
printf("%c\n", a[i]);
}
C言語勉強して、間のない初心者なのですが・・・
こんなのでしょうか???
0698デフォルトの名無しさん
NGNGファイルシステム面白そうです。
仮想デバイスは1ブロック512バイト固定で、
size_t get_size(); //ブロック数を返す
int read_block(int blocknum, char *buf); //1ブロック読む。
int write_block(int blocknum, char *buf); //1ブロック書く。
が使えて、それを使って
open, close, read, write, mkdir, unlink, rename,
rmdir, stat, lseekくらいができれば良いですかねえ?
0699デフォルトの名無しさん
NGNGなんで?
char hoge2[3];
char sharp[2];
strcpy( sharp, "#");
for(int i=1;i<256;i++) {
_itoa( i, hoge2, 10);
strcat(sharp,hoge2);
printf("%s ",sharp);
}
0700デフォルトの名無しさん
NGNG> char sharp[2];
0701デフォルトの名無しさん
NGNGprintf("#%d ", i);
ってやっちゃえば
0702699
NGNG・・・
sprintf(buff,"#%s",hoge2);
てな感じでいけました。徹夜明けなのでぼけーっとしてます。
ありがとう>>700,701
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGまだぼけーっとしてるみたいだが、701の言うようにprintf使えばいいじゃん。
0705デフォルトの名無しさん
NGNG二日寝て二日起きるんだよ、今日は起きる日
0706デフォルトの名無しさん
NGNG長寿のおばあちゃんみたいな生活
0707デフォルトの名無しさん
NGNG負けますた、ワラタ
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNGできました。ありがとうございます。
初心者ではじめてまだ2週間で、困ってたんです。
0710デフォルトの名無しさん
NGNG本来は、OS スレに行くべきだろうが、まあ続かんだろうから...
> size_t get_size(); //ブロック数を返す
> int read_block(int blocknum, char *buf); //1ブロック読む。
> int write_block(int blocknum, char *buf); //1ブロック書く。
何故 get_size() の戻り値は size_t で、read_block(), write_block() の
blocknum は int なのかと...。ついでに、今時なら普通...
int write_block(size_t blocknum, const void *buf);
だと思うぞ。
> open, close, read, write, mkdir, unlink, rename,
> rmdir, stat, lseekくらいができれば良いですかねえ?
mkdir, rmdir をサポートすると言うことは、階層ディレクトリサポートすると
言うことだよね。だったら、chdir/getwd とかもいると思うし、link が無い
なら、unlink なんてわけわかの名前じゃなくて素直に remove (もしくは
delete (C なら良いが、C++ だとバッティングするか...) とか Erase) の方が
良いと思うぞ。あと、ディレクトリの検索関係は、どうするんだ ? ディレクトリ
を直接オープンして、ライブラリで処理と言うことで良いか ?
0711デフォルトの名無しさん
NGNG0712710
NGNGファイルの状態を調べる必要があるなら fstat とかも必要かも...。
0713デフォルトの名無しさん
NGNGint a,b,c;
a=0;
b=0;
b=b++;
c=a++:
ってやったばあい、a,b,c の値はどうなるのでしょうか
0714デフォルトの名無しさん
NGNGb=b++;
の一行の動作は未定義です。
0715デフォルトの名無しさん
NGNGばかじゃねーの?
0716デフォルトの名無しさん
NGNG未定義にも限度があるよな。良く検討した?
これで b=0とかb=100になることはありえねーだろ。 ちったー脳つかえ
0718デフォルトの名無しさん
NGNGばかじゃないよ。
K&R第2版P66嫁。
0720デフォルトの名無しさん
NGNG未定義という言葉がまずかったのなら、こう言いましょうか。
b=b++; の結果のbは、0か1になりますが、それは処理系依存です。
0721デフォルトの名無しさん
NGNGttp://www.catnet.ne.jp/kouno/c_faq/c11.html#33
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNGそうとは限りませんよ。どんなことが起こっても不思議ではありません。
ttp://www.catnet.ne.jp/kouno/c_faq/c3.html#3
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG喧嘩もやめようよ。ヽ(´ー`)ノ
0727デフォルトの名無しさん
NGNGじゃあ実際にコンパイラを作ったとしてだ
b=b++;
を、キミ達ならどうアセンブラに落とすのよ?
不定だからっつって、これをアセンブルして
くれないコンパイラは今の世には無いぜ。
一般的なコンパイラを4つほど試したが
b=0;
b=b++;
は全て b=1 となった。ま、当然だな。
順当に考えれば b=b ; b++; という順に評価するってこと。
誰が作ったってこーなるよ。
0728デフォルトの名無しさん
NGNGソースで配布するときに相手にコンパイラを指定するのは馬鹿だろう。
一般的なコンパイラとは何か4つ示してほしいが…
0729デフォルトの名無しさん
NGNG存在するコンパイラがどうなっているかなんて問題じゃないんだよ。
規格がどうなっているのかが問題なんだよ。
ここは特定のコンパイラ専用のスレッドじゃない。
0730デフォルトの名無しさん
NGNGおいおい放置しろよ
0731デフォルトの名無しさん
NGNG現実に書けるコードなんだから(書くことの是非は置いといて)
書かれてしまったものについて きちんと動作を検証してみろってことだ。
自分が書いたコードでなくとも、例えば不出来な部下がこういうコードを書き
それが元でトランザクションを破壊された狂ってしまったデータを復旧する
などの事態に陥ったときに これらの事象を理解しうる知恵と知識を持て。
0732デフォルトの名無しさん
NGNG規格を疑え。
だいたいそれなら、コンパイルエラーにするなりなんなりといった
予防処置がコンパイラに取られてしかるべきじゃあないのかね?
0733デフォルトの名無しさん
NGNG俺だったらその部分だけ書き直すが・・・
0734デフォルトの名無しさん
NGNG誰も思考は止めていない。
ただ、コンパイラがこうだから…を重視するプログラマーか
仕様を重視するプログラマーかの違い。
はっきりいって、前者の方が駄目だけど、現実多いんだろうなって感じたり
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNG宿題は自分でやれ
0738デフォルトの名無しさん
NGNG0739727
NGNGいや、馬鹿な奴にはしっかり教えとかないといけないだろ?
誰が作ったってこーなるよ。
0740デフォルトの名無しさん
NGNGだから放置を覚えろよ自治厨君
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNG0743デフォルトの名無しさん
NGNG一名以外はそう思ってるよ。
0744デフォルトの名無しさん
NGNG> これらの事象を理解しうる知恵と知識を持て。
そう言う知識をもってたら、やることは...
> きちんと動作を検証してみろってことだ。
では無いだろ。普通 >>733 みたいにするよ。検証したって、コンパイラ変われば
(もっと言うと、ソース変わっただけで) 結果が変わるかもしれないから、無駄だ
よ。
>>732
> 予防処置がコンパイラに取られてしかるべきじゃあないのかね?
まあ、お前らみたいな厨房が増えてきたから、警告ぐらい出してもいいかもね。
でも、コンパイラだけでもどうしようもないケースがあることは覚えておいた
方が良いぞ。
0745デフォルトの名無しさん
NGNGししょー、規格を疑ったら
わたしはなにを頼りに生きていきばいいんでしょうか……。
0746デフォルトの名無しさん
NGNG失格
>745
自分を信じろ
0747デフォルトの名無しさん
NGNG( ・∀・) ( `ー´) ( ´∀`) ( ゚ ∀゚ ) ( ^∀^)
( つ┳∪━━∪━∪━━∪━∪━∪━┳⊂ つ
| | | ┃ 僕達を信じてプログラム ┃ | | |
(__)_) ┻━━━━━━━━━━━━━━┻ (__)_)
0748デフォルトの名無しさん
NGNG>>739の言うこともあらかた納得はできるけどね。
0749デフォルトの名無しさん
NGNGいや、規格がすべて正しいのです。
規格がそうだと言えば、現実に存在するコンパイラの方が間違いなのです。
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG満載だと思われ(w
0752馬鹿だから教えてください
NGNG0753デフォルトの名無しさん
NGNGコンパイラだけでどうしようもないケース ってのも良く考えれば酷い話だよな。
if文のカッコの中の代入にWarningを出すよりも前にやることいっぱいあるよな。
つーかif文の中で変数に代入して何が悪いんだよコンチクショー
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG意味わかんねーぞ
xと2の排他的論理和はともかく
3xなんてサフィックスはないし
左辺値を示さない式に代入はおかしいし
セミコロンも抜けてんじゃねーかよ
聞きたいことをちゃんと表現してみろよ
これじゃいかにも筋悪そうだぜ、お前
0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNG一般解の方程式もう忘れちゃったよ・・・緑チャートどこしまったかなぁ
0759馬鹿だから教えてください
NGNGx=1/3(x^2+1)
x0=1.00
すいません。聞きたいこともやっぱ理解してないかもしれません。
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNGは「未定義な動作」ですから、何が起きても規格では許されます。
コンパイラが警告を発しても発しなくても
コンパイルが正常に終了してもしなくても
リンカが正常に終了してもしなくても
できあがったファイルが何らかの動作をしてもしなくても
規格通りです。
0762デフォルトの名無しさん
NGNG>つーかif文の中で変数に代入して何が悪いんだよコンチクショー
そーだねぇ。熟練者は = と == ってあんまし間違わないからねぇ。
それに初心者は警告を見ないという罠。
0763デフォルトの名無しさん
NGNG\ ヽ \ /
ヽ ゙! < n = n++; でないとノーベル賞を取るのは難しい
/ | \_____________________________
/ ,.イ
∠___/ :|`ヽ.、
ノ '! \-、
_,.=''1 ヽ, `'
ヽ'" i| |
! |
0764馬鹿だから教えてください
NGNG0765デフォルトの名無しさん
NGNG・2次方程式の解き方
・Cの文法
別々に聞いたほうがよさそう
0766デフォルトの名無しさん
NGNGそーなの?
未定義のコードって、それを実行すれば結果は未定義だけど、
その部分が if とかで飛ばされたりして実行されない限り、何も起きないものだと思ってた。
0767デフォルトの名無しさん
NGNGそんなコンパイラ誰も都川ねーよ
0768デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG正確には「未定義の動作」だからね。
動作させなければ関係ないはずだよね。
0771デフォルトの名無しさん
NGNG規格で言うところの「未定義」と「処理系依存(処理系定義)」は違う。
後者は処理系が定義してドキュメントしなければならない。定義通り動作しなければ
ならないから、ユーザはその処理系を使う限りにおいてその仕様に依存することが
できる。
前者はその必要がなく、contextやrace condition、最適化オプションなどによって
挙動が変わることも許されるし、極端なことを言えば一部の処理系やアーキテクチャで
コアを吐いたりCPUを停止したりする結果になるとしても規格上は関知しない。
0772デフォルトの名無しさん
NGNGドキュメント化の必要がない、
というと「未規定」もあるよね。
0773デフォルトの名無しさん
NGNG> b=0;
> b=b++;
> は全て b=1 となった。ま、当然だな。
> 順当に考えれば b=b ; b++; という順に評価するってこと。
> 誰が作ったってこーなるよ。
b=0
b=b+++b+++b+++b;
はいくつっすか?
1になるやつとか3になるやつとかありますけど。
0774デフォルトの名無しさん
NGNG未規定の動作を含んでいて
bに格納される結果は未定義です
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG> mkdir, rmdir をサポートすると言うことは、階層ディレクトリサポートすると
> 言うことだよね。だったら、chdir/getwd とかもいると思うし、link が無い
> なら、unlink なんてわけわかの名前じゃなくて素直に remove (もしくは
linkは忘れてました。
あとcreatも。
でもchdir/getwdは要らないと思います。(それはプロセスが持つものです。)
0778デフォルトの名無しさん
NGNGそりゃそうだろ。
それは b=b++; の問題とは全く異質の問題で
基本構文解析の順番がコンパイラごとにどう規定されてるか違うんだから
動作が異なるのは十分ありえる話だ。
0779デフォルトの名無しさん
NGNG任天堂を訴えてやる
0780デフォルトの名無しさん
NGNG「未定義の動作」だからコアダンプしても不思議はない。
「誰がやってもこうなる」とか言ってる香具師はただの煽りか
鞭だから虫せい。
0781デフォルトの名無しさん
NGNG$ perl -e '$i = 0; $i = $i++; print "$i\n"'
0
となったりする。処理系の書き方なんていくらもある。
規格が定義していないことを利用してアグレッシブな最適化をすることも
できるし、そうしたときに i = i++; がレジスタやスタックを破壊して、
i == -11041 などとなるかもしれないという想像力は必要だろう。
なんてことをわざわざ書く漏れは言わせた厨房もろとも逝ってよし。
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNGうわバカがきた!
0784デフォルトの名無しさん
NGNGいや、この場合の構文解析はコンパイラごとに違わないはずだぞ
b=((b++)+(b++)+(b++)+b);
これ以外の解釈をするコンパイラはバグだぜ
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG構文解析器の規格を疑え。
0788デフォルトの名無しさん
NGNGそれよりも、規定されてない 言語仕様のほうに疑問を感じるけどな。
未定義 とか自慢げに言ってないでさっさと規定しろ ってオレは言いたい。
0789デフォルトの名無しさん
NGNG剥げどう
0790デフォルトの名無しさん
NGNG構文解析と出力コードとどう関係あるんだよ。
>>783
同意だが念のため言っておくと
括弧で実行順序を完全に規定できるわけじゃないよ。
0791デフォルトの名無しさん
NGNGだったら、参画しろよ。
こんなところでうだうだ言ってないでさ
0792デフォルトの名無しさん
NGNGアーキテクチャによってどの結果が一番速いか違うときはどうする?
例えば、post incrementモードはあるがpre incrementモードがない
PDP-11, VAX-11, 68kファミリとか。
0793デフォルトの名無しさん
NGNG未定義や未規定を残してあるのは
粋な計らいって場合もあるぞ
例えば
a=b++ + c++;
のaとbとcへの副作用の順が決まってないのは
機械語のオートインクリメントに直訳させるためとかな
0794デフォルトの名無しさん
NGNG全部規定しやったらコードが遅くなったり大きくなったりするが...
スーパースカラーだとどうするんだよ。
0795デフォルトの名無しさん
NGNG0796歌丸
NGNGカッコつかないし、何言い出すか未定義です。
0797783
NGNGそりゃそうだ*p++とかな
0798デフォルトの名無しさん
NGNG「実装を研究しろよ」と偉そうにのたまうのは勝手だがお前こそ実装を研究しろよ。
0799デフォルトの名無しさん
NGNG激しく同意
0800デフォルトの名無しさん
NGNG0801783もとい784
NGNG0802デフォルトの名無しさん
NGNGいや、そうじゃなくて
例えば2項演算子のどのオペランドを先に評価するかは、
,と?:と&&と||以外は未規定。
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNGいや、そうじゃなくて
例えば2項演算子のどのオペランドを先に評価するかは、
,と?:と&&と||以外は未規定。
0805784
NGNGb=c()+d();
でcとdの実行順序が未規定ってことか
0806783=802=804
NGNG0807デフォルトの名無しさん
NGNG0808784
NGNG0809デフォルトの名無しさん
NGNG誤爆か?
0810デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/unix/1022165761/
0811784
NGNG0812デフォルトの名無しさん
NGNG・・・・・・・。ネタ臭いと思ったら・・・・・
>>713
死ね!
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNG言い方だよね。もし順序を全部規定して演算子ごとにsequence
pointを作るとしたら、非常に逐次的なコードになるだろう。
最近のCPUだとせっかく4つとか6つとか演算器があるのに1度に
1つずつしか使えなくなる。しかも、逐次的にするにはわざわざ
そのための命令を演算命令の間にたくさん挟まなければいけない。
プログラムによるが、たいていのプログラムで性能は確実に半
分以下、下手したら2〜3割に落ちると思う。
0815784
NGNGそりゃねーだろ
おめーだって幽霊じゃあんめえ
0816デフォルトの名無しさん
NGNG実際に誤解してるアフォは多いんだから、その価値はあるよ。
0817784
NGNG0818デフォルトの名無しさん
NGNGfflush(stdin)を堂々と正当な方法だと説明しているサイト多いね。
0819[email protected]
NGNG「高性能ビデオスタビライザー」です↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA
店頭販売価格は、13900 円なんですが、
今回だけ、破格の 7700 円に設定して
おります。
購入希望の方は、名前の所にも書いて
ある、[email protected] 迄、
メールを下さい。
不安な方は、落札をして頂いても
構いません。
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNG教えて君たちが一斉に帰っちまったか
0824デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1014640220/l50
0825デフォルトの名無しさん
NGNG実は片岡だったんじゃないか?
0826デフォルトの名無しさん
NGNGmain()
{
char c;
while((c = getchar()) != EOF))
putchar(c ^ 0xFF);
}
というコードだと途中で入力の途中にEOFがあると止まってしまいますよね。
バイナリファイルを入力させたいときなどはどうすればよいのでしょうか?
0827デフォルトの名無しさん
NGNGなんでコンパイラによって扱いが違うのか不思議に思う事がある。
0828デフォルトの名無しさん
NGNGEOFはバイナリファイルの"中"に入ることはありえない
0829デフォルトの名無しさん
NGNG○ int c;
入力の途中にEOFは無い。
0830デフォルトの名無しさん
NGNGint c; にしなさい。
んで、途中に EOF があることはない。
なぜなら getchar() の戻り値は int 型であり、0〜255 または EOF のどれかで、全部で257通りあるから(charが処理系依存つう話は突っ込まないで頂戴)。
EOF は一般的には -1 になってたりする。
0831デフォルトの名無しさん
NGNGgetcharの戻り値はintだバカ
0832デフォルトの名無しさん
NGNGEOFの定義をヘッダを漁って見てみるといいと思うよ
0833784
NGNG0834デフォルトの名無しさん
NGNGcharは処理系依存しないよバカ
常に1byteなんだよ
……あ、signed/unsignedは依存するかも……
0835デフォルトの名無しさん
NGNGcharは1バイトだが、1バイトが8ビットっつう定義はない。
0836デフォルトの名無しさん
NGNG>b=b+++b+++b+++b;
>はいくつっすか?
>1になるやつとか3になるやつとかありますけど
例えばこんなとこ
0837デフォルトの名無しさん
NGNGおいおい・・・charが常に1バイトなんて、誰が決めたんだ?
お前らの好きな規格をもって ここに示してみろ。
このスカポンタンが!
0838784
NGNGバイトマシンじゃない機種ではどうなってる?
0839デフォルトの名無しさん
NGNGヲイヲイ
0840デフォルトの名無しさん
NGNGあ、そうかも。
すいません。勉強になりました。
0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGそうです。てへへ。
0843デフォルトの名無しさん
NGNG>>840
そのようだ
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG・ファイル終端に達していたら EOF
・終端でなければファイルの内容から1バイト取り出した値
リファクタリングの知識がある今だと行儀のいい仕様とは言えないな。
0847仕様書無しさん
NGNGじゃぁどうすればいいの?
0848デフォルトの名無しさん
NGNGだけの大きさがある記憶領域」だと書いてある。(8bitだなんてどこにも
書いていないが、characterを保持するには最低8bit以上必要。)
また「sizeof charは常に1」とも書いてある。
だから本当はbyteサイズ >= charサイズだが、余ったビットを使う方法なんて
ないし、余らせても処理系にメリットはないと思われるので、実質上
byteサイズ==charサイズと思っていて問題はない。
0849デフォルトの名無しさん
NGNG_Bool getchar(char *value)として、valueの指す先に値を書かせる?
0850デフォルトの名無しさん
NGNGもちろん、成功不成功の出力と、入力された値を返すインタフェースを別にするのさ
たとえば、関数の戻り値は成功不成功のtrue/falseだけにして、
入力値はポインタ1個渡してそこに入れてもらうようにするとか
0851デフォルトの名無しさん
NGNGレジスタで受け取れるし。
(Javaでさえそうはしてないが。)
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNGJavaのreadChar()はEOFExceptionを投げる。
0854デフォルトの名無しさん
NGNG例外というか、穴だらけ。
使い物になると思わない方がいい。
0855784
NGNGsetjmpっすか? volatile出てきますね
0857デフォルトの名無しさん
NGNGそんな貴方には C++ の basic_istream をどうぞ。exceptions でEOF例外を発するように出来ます。ここはCスレなので。
0858デフォルトの名無しさん
NGNG0859仕様書無しさん847
NGNG(注)Iteratorはそれで遅いなんて言われている。
0860仕様書無しさん847
NGNG0861デフォルトの名無しさん
NGNGフ゜ばっかじゃねーの
0862仕様書無しさん847
NGNG同士 (^^;;
0863784
NGNG板違いはやめれ
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNGchar c;
while ( getchar(&c) ) {
cを処理
}
と書ける。
0866デフォルトの名無しさん
NGNG(w
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNGdo {
c = getchar();
}while (! errno);
とか?
errnoって最近かなり不便だよね。
マルチスレッドを使うときはグローバル変数にできないので
変なマクロになっている。
>>859
isEofってのはPascal流だな。
例外とか使わないとしたらまっとうなアプローチだと思うけど、
while (! isEof(stdin)) {
c = getchar();
}
は、実行効率で今の仕様に負けると思う。
0870デフォルトの名無しさん
NGNGでもcをレジスタに割り当てられなくなるよね。
マクロ展開しても速くならないんじゃないか?
0871knk
NGNG0872784
NGNGえー速くなる?
jmp_buf j;
if(setjmp(j)==0){
register char c;
while(c=getchar(j)){
cを処理
}
}
0873847
NGNGなるほど
MSVCみたいなコンパイラならバイナリは同一かと思われ。
0874784
NGNG0875847
NGNGjmp_buf j;
if(setjmp(j)==0){
register char c;
while(1) {
c=getchar(j);
cを処理
}
}
0876784
NGNG0877デフォルトの名無しさん
NGNGマルチバイト文字列関数の_mbsstr()を使えば、どんな場合でも問題なく
見つけてくれるのでしょうか?
EUCの文字列を処理するときでもOKですか?
どこかにいい説明ページがあればURLお願いします。
0878デフォルトの名無しさん
NGNG\nだったら漢字考慮せずとも大丈夫っしょ
0879デフォルトの名無しさん
NGNGjmpbuf渡さなきゃダメかな? ま、いいけど。
マクロ展開すると
c = (--*(p)->cnt > = 0 ? *(p)->ptr++ & 0377: fillbuf(p, j));
みたいになるよね。jはたいてい使わないからけっこう速くなると思うけど。
0880877
NGNG'\n'は2バイト目にも出てこないんですね。
ご指摘ありがとうございました。
http://alfin.mine.utsunomiya-u.ac.jp/~niy/algo/w/whatKanji.html
>シフトJISコードは第1バイトとして 0x81 - 0x9f までと 0xe0 - 0xfc まで、
>第2バイトとして 0x40 - 0xfc まで(0x7fを除く)を使う。
>このため、シフトJISは上記の半角コードと混在できる。
>しかし、制御文字として使われる \(バックスラッシュまたは円記号)などが
>第2バイトの領域に入っているために問題が生じることがある。
>
>EUCコードは第1、第2バイトとも 0xa1 - 0xfe までであるが
0881847
NGNGそのままで(・∀・)イイ!!という事でしょうか。
0882784
NGNGああ、マクロ展開って言ってたっけ
そんならそうかも
0883784
NGNGところでjmp_buf渡さない手って?
0884デフォルトの名無しさん
NGNG例えば名前を固定にするとか、スタックにするとか。
スタックってのは、setjmp(&j)じゃなくて
push_ioerr_jmpbuf(&j)みたいにする。使うときは
TRY〜CATCHみたいなマクロにすればそれほど面倒はない
んじゃないかな。
0885デフォルトの名無しさん
NGNG規格だと「関数としてリンクできないといけない。
でも同じ名前のマクロを用意しても良い。」となってるけど。
0886784
NGNGスタックを2本にするってこと?
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNGsystem()
0889784
NGNG失礼する
0890デフォルトの名無しさん
NGNGどうもありがとうございますた。
system("コマンド");
ですね。
0891デフォルトの名無しさん
NGNGエンターキーを押したら次の処理に進むようにしようと思います。
変数を使わずに実現するにはどうすればいいでしょうか?
scanf; じゃなにも起こらないようです。
0892デフォルトの名無しさん
NGNGscanf;じゃscanf関数の呼び出しすらしない罠
0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGsystem("pause > nul");
DOS限定。
0898デフォルトの名無しさん
NGNG.c.o:
$(CC) $(OPTS) -S $<
$(CC) $(OPTS) -o $<
ってやりたいんですけどビルトインルールに cc -o $< がある(?)ので
余計なコトをされてしまいます。
0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNGうぉ、本当だ。VC++ 6 でやると、警告は出るがコンパイルは通る。
(でも、何も生成されない。) 何で、エラーにしないんだ ?
scanf(); ならエラーにするくせに...。
>>891
何で、変数使っちゃダメなの ? >>895 みたいにそれとわかる変数使えば
いいと思うが
0901デフォルトの名無しさん
NGNG仮にEnter入力待ちの時にタッチタイピングの練習し始めたり、
物のせてスペースキーが押しっぱなしになって3日放置されたりしたらどうする?
0902デフォルトの名無しさん
NGNGエラーじゃないからエラーにならない。
int a;
a;
これもエラーじゃない。
0903891
NGNG>>900
>何で、変数使っちゃダメなの?
わざわざこの処理の為に変数用意するのはどうかな?
と思ったのです。
>>894さん
の方法でうまく行きました。ありがとうございました。
while(getchar()!=10);でもうまくいったみたいです。。。(decか、hexの違い!?)
0904デフォルトの名無しさん
NGNGint a;
a;
とか
main(int argc, char** argv)
{
argc; argv;
}
とか出来る
関数は関数ポインタの扱い。
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNG絶対に必要な事は無いに等しい。
0908891のつづき
NGNGその前の処理の入力で、”入力終了に使うenter" を間違えて読んでしまって
入力待ちにならないんです。
scanf("%s",string_data"); �@
while(getchar()!=0x0a); �A
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNG激しく同意
0912デフォルトの名無しさん
NGNG関数ポインタって知ってますか?
0914デフォルトの名無しさん
NGNGを回避するために、
scanf("%s",string_data"); �@
while(getchar()!=0x0a); �A
while(getchar()!=0x0a); �A
と、するのは邪道ですか? きれいなプログラム、すっきりしたプログラムという点
から見て意見求む!
0915デフォルトの名無しさん
NGNGscanf使わなければ解決。
0916デフォルトの名無しさん
NGNGムムッ
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNGpstr = string_data;
while(*pstr++ != '\n')
*pstr = (char)getchar();
while(getchar() != '\n');
0919デフォルトの名無しさん
NGNGpstr = string_data;
do{ *pstr = (char)getchar(); } while(*pstr++ != '\n');
*pstr = '\0';
while(getchar() != '\n');
0920900
NGNGあんたら、VC++ 6 のエラーメッセージ見た事ないのか ?
> 「関数呼び出しに引数リストがありません。」
俺が言いたいのは、関数呼び出しと認識してるんなら、エラーにしろよ。
と言うことだけだよ。
関数ポインタとか、変数を単体で式として記述 とか言うんなら、
なんで、
int (*a)();
a;
が警告にもならないか説明しろよ。
0921デフォルトの名無しさん
NGNGどうすればいいですか?
全ファイルにMakefileを依存させるようにMakefile記述するのはダサいッスよね?
0922904
NGNGK&RなりISOなり仕様書読めよ
int (*a)();
a;
a は変数だろうが。
これは関数呼び出しとして認識してないよ
a という式だって言うの。
a()で関数呼び出しになるから、始めて引数がチェックされるんだって。
0923デフォルトの名無しさん
NGNGなんでそれがエラーにならないかというと ; で区切られてるのは、実は全部 値 なんです。
a = 1;
↑この式は1です。
a;
↑この式も1です。
scanf;
↑この式は &scanf です。
scanf(&a);
↑この式は scanf()の戻り値です。
0924デフォルトの名無しさん
NGNG密かに祭りでもやってんの?
0925デフォルトの名無しさん
NGNGなんかわかりやす(・∀・)イ!!
3つ目 &scanf がどういう値なのかよくわからんが(w
0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNGそう、ただいま scanf(); 祭り実施CHU!
0928結論
NGNG0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNGfunc("%s", buf);
0936デフォルトの名無しさん
NGNG馴染め。
>>925
scanf(関数)のある場所。
この辺はアセンブリを知ってる人は有利なのかな?
0938デフォルトの名無しさん
NGNGscanf; != 式とは>>922は一言も書いてませんが?
0939デフォルトの名無しさん
NGNG;(セミコロン)が付いたら式かどうか疑ってみんさい。
そういう時はscanfは式なの?
ケコーンしちゃうの?
って聞くの。
0940デフォルトの名無しさん
NGNG?
↓
void (*func)(const char*, ...) = scanf;
func("%s", buf);
0942900
NGNGscanf; って言うのが...
1. 式って言うなら、int (*a)(); a; との違いはなんだ ?
2. 関数呼び出しだって言うなら、何でプロトタイプ宣言のエラーに
しないんだ ?
3. どっちとも違うって言うなら、なんなんだ ?
って聞いてるだけだよ。>>922 は質問の意図はわかってるだろうから
余計なことはさまないでよね。
0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNGガンバ♪
0947デフォルトの名無しさん
NGNG初心者は(#・∀・)カエレ!!
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNG;が付いたら文。
でscanfは式。
>>936
に書いてあるとおり、scanfのアドレスを返す。
printf("%p\n",scanf);とかやってみ。
> int (*a)(); a;
これやるとBCC32では警告が出るんですが…
こうやって宣言した関数ポインタかscanfとかの関数名に()がつくと関数の呼び出しとなる。
a;はアドレスを返すだけ。でも使ってないだけ。
0951950
NGNG0952デフォルトの名無しさん
NGNGは正しい式だから、ANSI準拠に従う以上、エラーにしちゃいけない。
警告を出すかどうかは処理系実装者の任意だけど。
何を意味するかというと、scanf関数の関数ポインタを取得して、それを何もしない。
呼び出すわけでもなく。
ただ単に式の値は捨てられる。
って感じ?
0953デフォルトの名無しさん
NGNG互換性のある型!!
int ia[10];
int (*iap)[10] = ia;//&iaでもよい無くてもよい
コンパーチブル!!
0955デフォルトの名無しさん
NGNG> int ia[10];
> int (*iap)[10] = ia;//&iaでもよい無くてもよい
アドレスは同じでも型は同じか?
0956デフォルトの名無しさん
NGNG0957900
NGNGだから...
> 1. 式って言うなら、int (*a)(); a; との違いはなんだ ?
に誰か、答えられるの ? (特に、>>910-912 みたいに偉そうに書いてた奴、
どうよ。単なる煽り屋さんか ?)
>>950
>> int (*a)(); a;
> これやるとBCC32では警告が出るんですが…
なんてでてます ? また、int a; a; でもでるのかな ?
(処理系の名前忘れたけど、"無効な式です" とか言う警告が出る奴はある。)
0958デフォルトの名無しさん
NGNG次スレよろしこ。
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNGint scanf(const char *, ...);
というプロトタイプがあるとき、
scanf; はエラーじゃない。
int (*)(const char *,...)型の式の後ろに;をつけた文になる。
scanf(); はエラーだ。
int scanf(const char *,...)を、矛盾する引数で呼び出したから。
^^^^^^^^^^^^^^
0962デフォルトの名無しさん
NGNGa; // エラーじゃない
a(); // エラー
a(1); // エラーじゃない
0963904
NGNG煽りやさんはあんただろ。
> 1. 式って言うなら、int (*a)(); a; との違いはなんだ ?
a()と int(*a)();a;の違い?
前者は引数なし関数aの呼び出し
後者は引数なし関数ポインタaの宣言と式aのみから成り立った文。
0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGみたいに、
scanf;
も
scanf();
も同じように引数0個の関数呼び出しになると思ってたのかな?
Cだと、()を付けない限り関数呼び出しは起きないんだよ。
0966デフォルトの名無しさん
NGNG俺は立てすぎらしい
0967ダックソン�W世
NGNG0968900
NGNGげっ、こいつほんとにわかってなかったのかよ。>>942 の「>>922 は
質問の意図はわかってるだろうから」て言うのは、取り消しだ。
誰が、「a()と int(*a)();a;の違い?」を問題にしてんだよ。
scanf; と (int (*a)(); としたあとの) a; の違いを示せって言ってんの
わからんか、それとも 1000 も近いから単なる時間稼ぎか ?
0969デフォルトの名無しさん
NGNG0971969
NGNG誰か頼む。
テンプレ
-------------------------------------------------------
C言語なら、俺に聞け! <22>
日下部陽一
漏れは38才、21年間プログラムを一生懸命作ってきた。
いろいろな言語を極めたが、一番手になじむのはCだった。
Cのことならぜんてわかるから、疑問な点があったら漏れに聞け。
だが、いちいちFAQに載った質問に応えるほど暇じゃない。
課題丸投げなら別スレにいけ。
・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/
推薦図書/必読書のためのスレッド PART3
http://pc.2ch.net/test/read.cgi/tech/1016722820/
・前スレ
<21> http://pc.2ch.net/test/read.cgi/tech/1022045622/
他のリンクは>>2-10を見な。
0972デフォルトの名無しさん
NGNG> (でも、何も生成されない。) 何で、エラーにしないんだ ?
> scanf(); ならエラーにするくせに...。
この発言を馬鹿にされて逆ギレしてただけじゃなかったの?
0973デフォルトの名無しさん
NGNGエラーでないのかワカリマシェン。誰か教えて〜(泣」
って言ってるんじゃないの?
答は出てるんだが。
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG>scanf; と (int (*a)(); としたあとの) a; の違いを示せって言ってんの
へ?何が違うの?
0976950
NGNGと出る。
>>968
scanf; は文だって…
例えば
int (*a)(const char *, ...);
a = scanf;
として
a(どうのこうの);
とすればscanfとして動く。
a = printf;
と、途中で変えることもできる。
ようは
int a[256];
と
int *a;
との違いみたいなもん。
0977デフォルトの名無しさん
NGNG0978日下部陽一
NGNG新スレです。移動願います
0979サンプル
NGNGint main(){
int (*a)();
int hage;
a = scanf;
a("%d",&hage);
a = printf;
a("%d\n",hage);
scanf = printf; /*エラーだよ*/
return 0;
}
こんなもんで。
あとは邪推してくれ。
0980デフォルトの名無しさん
NGNG俺は「scanf;が関数呼び出しだと思っていた」に一票だが。
0981デフォルトの名無しさん
NGNG単なる()の付け忘れだろ。何をそんなに熱くなってるんだか・・・。
しかし、scanf;でコンパイル通るのか。
関数ポインタがごろんと転がっているだけの感じだがな。
0x44548883;
とかいう感じで。
0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNGint (*a)(cont char *,...);じゃなくていいの?
0985980
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1022402165/10
に書き直した。
0986950
NGNG・・・正解!
まあ scanf; a; ってのはたいした違いは無いよね。
1; と 2; の違いを言えってなもんだし。
むしろ
printf("hoge\n");
a = 3;
とかとも違いが無い(printfもintを返すし、代入式も値がある)。
つまり値が返されても値を受け取らなかったらそれは無視されるってこと。
俺は疲れた。
アセンブリ勉強してくれ。
pascalはやらないでくれ。
0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNGff | }!、,、〃 / ″このスレ怖いー!!
,リ/ .ノ*´jコ`)'〃
{{ { ′ v' 《
ヾ.\. \ヾ
_,,二、》 ; \. 三,_
(( ゙ー=、`″〃 \. \-‐' ,))
゙ー=″ ゙' 一'
0989デフォルトの名無しさん
NGNGint (*a)();
という宣言なら、どんな実引数で呼び出しても文法上はOK。
ただしこの宣言だと、可変長引数のプロトタイプ宣言をされた
関数は呼び出せない。(呼び出すと未定義の動作になる。)
0990デフォルトの名無しさん
NGNG(((( ;゚Д゚))))ガクガクブルブル
0991デフォルトの名無しさん
NGNGおいおい、NULLの話なんかいくつレスが付いたと思ってるんだ?
0992900
NGNG> 900は「scanf();はエラーになるのにscanf;やa();がなぜ
> エラーでないのかワカリマシェン。誰か教えて〜(泣」
> って言ってるんじゃないの?
バカ。>>920 見ろ。俺が言いたいのは、scanf; が警告出るのに、a; が警告
でないのは、何でだ。ってことだ。(要は、VC は (この点に関しては) バカ
だと言ってるだけだよ。)
いいかげん、scanf(); と scanf; の違いを偉そうに語るのはやめてくれ。
>>976
なるほど、BCC はちゃんと警告出るわけだ。int a; a; でもてるんだろう
なァ...。
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNGよーし、パパどうでもいい話なのでこのままコソーリ1000狙ちゃうぞー
0996デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1022402165/に移動して下さい。
0997デフォルトの名無しさん
NGNG,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
0998デフォルトの名無しさん
NGNGあれ、ひょっとしてVC6って、
scanf;
でscanf();と同じコードが出るの?
だったらコンパイラのバグだね。
0999デフォルトの名無しさん
NGNG1000900
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。