C言語なら、俺に聞け! <26>
レス数が1000を超えています。これ以上書き込みはできません。
0001日下部?はつみみです
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
・前スレ
<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日下部氏の激動の半生は過去スレを参照
0002デフォルトの名無しさん
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
0004デフォルトの名無しさん
NGNGそう、何も作り出すことは出来なかった。
しかし、僕の中のstatic変数にはいろんな思い出がつまってる。
でももうダメだ。
いつの日からか発生したループは、スタックを食いつぶしながら
僕のメモリ領域をどんどん蝕んでいく。
もうダメだ・・・。
僕は決心して窓を開けた。
「このプログラムは不正な処理を行ったため・・・」
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG>>4; //翻訳単位に隔離しますた
}
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGいいよ、むしろ漏れの以下略
0013デフォルトの名無しさん
NGNGいいのではないかな。>>11
0015デフォルトの名無しさん
NGNG0016過去ログその1
NGNG25 http://pc.2ch.net/tech/kako/1024/10249/1024918442.html (予定)
24 http://pc.2ch.net/tech/kako/1024/10240/1024033400.html (予定)
23 http://pc.2ch.net/tech/kako/1023/10230/1023024817.html (予定)
22 http://pc.2ch.net/tech/kako/1022/10224/1022402165.html
22 http://pc.2ch.net/tech/kako/1022/10224/1022402165.html
22 http://pc.2ch.net/tech/kako/1022/10224/1022402165.html
21 http://pc.2ch.net/tech/kako/1022/10220/1022045622.html
20 http://pc.2ch.net/tech/kako/1021/10214/1021459016.html
19 http://pc.2ch.net/tech/kako/1021/10214/1021459016.html
18 http://pc.2ch.net/tech/kako/1020/10202/1020260813.html
17 http://pc.2ch.net/tech/kako/1019/10193/1019372139.html
16 http://pc.2ch.net/tech/kako/1018/10184/1018453690.html
0017過去ログその2
NGNG14 http://pc.2ch.net/tech/kako/1015/10152/1015286974.html
13 http://pc.2ch.net/tech/kako/1015/10152/1015286974.html
12 http://pc.2ch.net/tech/kako/1012/10123/1012348974.html
11 http://pc.2ch.net/tech/kako/1009/10094/1009499565.html
10 http://pc.2ch.net/tech/kako/1009/10094/1009499565.html
9 http://pc.2ch.net/tech/kako/1007/10072/1007272267.html
8 http://pc.2ch.net/tech/kako/1007/10072/1007272267.html
7 http://pc.2ch.net/tech/kako/1003/10034/1003418249.html
6 http://pc.2ch.net/tech/kako/1003/10034/1003418249.html
0018過去ログ書けん・・・
NGNG「名前いれてちょ」
で書けない。
あと上のリンク、重複がいくつかあります。スマソ
0019デフォルトの名無しさん
NGNGあれば教えてください。
p = (Pの型 *)NULL; とか、const P* 型の引数を関数内で 必ず・わざわざ P* 型の
変数にキャストして代入して使ってみたり、などです。別のバッググラウンドをもっている
複数人が揃ってこの調子なのでヘナヘナ萎えています。
僕は普段はVC++を使うので、こういうtype safeのタの字も無いコードを書く理由が
思い当たらないのですが…。単にANSI以前にCを覚えたのでconstを知らないとか?
だとしたら寂しすぎる。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNGそいつが考えるAPIにconstがついていなかった場合、呼ぶ側がconst_castしなければいけなくなって大迷惑、
よって徹底放置というわけにもいかない。
…という罠は一応考えられるな。まぁCコンパイラを使うのだったら警告が出るだけだっけか?
0022デフォルトの名無しさん
NGNGマイクロソット
0023デフォルトの名無しさん
NGNGくだらないことをきくなよ
0024名無しさん@カラアゲうまうま
NGNGチェコでは正式名称なのかもしれん。
http://www.microsoft.com/cze/traincert/mcp/UkazteCoUmite.asp
0025デフォルトの名無しさん
NGNG単なるタイプミスでしょ。
0026デフォルトの名無しさん
NGNG> あれば教えてください。
昔はvoid *が存在せず。それに変わる汎用ポインタとしてchar *が使われていた。
例えば
foo *p = (foo *)malloc(sizeof(foo) * n);
とか
まぁ、10年後C99が普及したら何で年輩の人は
foo p[n];
と定義すればいいのに不要なmallocを使うんですか?
とか言われるかもしれない。
0027名無しさん@カラアゲうまうま
NGNGそれはそうだけど、>>19のあげてる例はちょっと違うだろう。
やっぱりポインタとかキャストについての理解がいい加減なんじゃあ。
0028デフォルトの名無しさん
NGNG変数の型に対する認識が甘かったりするかも知れない。
002926
NGNG> p = (Pの型 *)NULL; とか、
26はここの部分の説明をしてみた。
> const P* 型の引数を関数内で 必ず・わざわざ P* 型の
> 変数にキャストして代入して使ってみたり、などです。
C++ でmutableを使うべき処理の場合、Cではcastで騙さないと同じ処理を実現できない。
他にやり方があったら教えてくれ。
0030デフォルトの名無しさん
NGNGえ?26って、「 p = (Pの型 *)NULL; 」の説明やったん?
すると、昔は、#define NULL (char*)0 とかやったりしたん?
mallocとは違って、どんな時代のC/C++でも、
p=NULL;で済む筈やと思うけどなぁ。
0031デフォルトの名無しさん
NGNGCで開く事は出来るのでしょうか?
write(6) N
write(6) (X(I),Y(I),I=1,N)
で書かれたらしいのですが………
0032デフォルトの名無しさん
NGNGただREAL型とかがどんな風に書き込まれてるか知らないけど。
0033デフォルトの名無しさん
NGNGなんとかこの操作をCでやりたいのです。
real x(100),y(100)
open(10,file='xy.dat',form='unformatted')
read(10) n
read(10) (x(i),y(i),i=1,n)
do j=1,n
write(6,*) x(j),y(j)
enddo
stop
end
f2cだと
#include "f2c.h"
なんてなモノをやら無きゃならないので困ってます…。
0034デフォルトの名無しさん
NGNG読み込んで標準出力に吐き出したいわけ?Cで。
フォートランで書いたサブルーチンをオブジェクトファイルにしてcにリンクとかすれば
できるんじゃない?
使ってるコンパイラのリファレンスでも読め。
003519
NGNG0036デフォルトの名無しさん
NGNGfscanf(fp,"%d",&n);
for(i=0;i<n;i++){
fscanf(fp,"%f%f",&x[i],&y[i]);
}
0037デフォルトの名無しさん
NGNGreturn(0)やらreturn(-1)とか数値しか返せないの?
例えばmyfuncとかいう自作関数があった場合
エラー時にはmyfuncに戻るという動作をさせたいときには
どうすりゃいいのですか??????
0038デフォルトの名無しさん
NGNG意味が。
0039デフォルトの名無しさん
NGNGmyfunc()
0040デフォルトの名無しさん
NGNGlongjmp以下略ワラ
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG関数じゃねーよ
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG004537
NGNG厳しい指摘するヤシ・・・アリガ�d
ミンナミンナアリガ�d
0046デフォルトの名無しさん
NGNG>myfuncに戻る
というてますが、戻るんだったらreturnでいいじゃん
0047デフォルトの名無しさん
NGNG目からうろこが落ちた
0048デフォルトの名無しさん
NGNG004937
NGNG他の関数から飛ぶっす。
0050デフォルトの名無しさん
NGNG目からうろこが落ちたの使いどころが間違ってないか?
0051デフォルトの名無しさん
NGNGmyfuncを呼ぶだけじゃだめなのか?
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGとりあえず、テストソースでもいいから、ソース出せ。
みんな混乱してるじゃねーか。
005437
NGNG0055デフォルトの名無しさん
NGNGくだらねー(見に行っちまったが)
0056デフォルトの名無しさん
NGNGURLで気づけ
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGしかもお好み課(藁
0060デフォルトの名無しさん
NGNGhttp://www.otafuku.co.jp/jinji/fujiwara_2.htm
この会社、いまどきフローチャート書かせるのかよ・・・・
0061デフォルトの名無しさん
NGNG構造体についてなんですが・・・
Aのソースで宣言した構造体を、
Bのモジュールで使用することは可能でしょうか?
現在、AとBをコンパイル&リンクしようとすると、
Bのモジュールのコンパイル時に「宣言されていない構造体」ってエラーが出て、
コンパイルできずエラーが出てしまいます・・・。
構造体を、Bで宣言すればコンパイルは通るんですが・・・。
他のソースで宣言してる構造体を、
その別のソースで使用する方法がありましたら教えてください。
よろしくお願いします。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGrand()関数使って何かおもしろいことできませんか?
ゲームでも面白い動作でも何でもいいです。
よろしくおながいします。
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG恐ろしい動作
0066デフォルトの名無しさん
NGNGランダムなアドレスに0を書き込むってこと?
006761
NGNG構造体自体は、ヘッダーファイルを作って、Aでインクルードしてます。
しかし、問題が解決されません・・・。
Aでも、インクルードして、Bでも、インクルードしろって意味なのでしょうか・・・???
でも、たしか、宣言ってカブって行うと、ダメなんですよね・・・???
0068デフォルトの名無しさん
NGNGやってみてアクセス違反がでなかったら勝ち。
0069デフォルトの名無しさん
NGNGVC++じゃ実行できないYO!!
VC++で実行できるものでrandをつかった面白いものをおながいします。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG定義はだめ
0072デフォルトの名無しさん
NGNG走らせてると突然ピタッと止まるんだよな。その瞬間ゾクゾクっとした
快感が体を走り抜けたよ。たまんねえな。
>>67
宣言がダブッたらまずいのは、同一ファイル内のみ。
007361
NGNG宣言はOKで定義はダメ!
スペシャルサンクス!
さっそく、テストしてきます!!
0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG0076221
NGNG昨日初めてコンパイルしてみようとしたのですが、
完了-コンパイル「C:\WINDOWS\PROFILES\SHIN\MYDOCU~1\HELLO.c 1: ファイル
stadio.hがオープンできない (No such file or directory)」と出てコンパイルできません。
何が問題なんでしょう?宜しくお願い致します。
0077デフォルトの名無しさん
NGNG本のサンプル入力してるのか?
もう一度サンプルと同じか確認して見ろ。
stadio → stdio
0079デフォルトの名無しさん
NGNGメッチャレベルヒクイ
0080デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083221
NGNGLSI C-86 超簡単セットアップ Ver 1.53を使って
ドラッグ&ドロップしただけなので、入力ミスとかはないと思います。
0085かわりにこれ使え
NGNG#include <stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}
0087デフォルトの名無しさん
NGNGだから、stdio.hに直してくれよ
0088221
NGNGメモ帳にコピペしてCコンパイラに放り込んだら
「[email protected]」とでました。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG0091221
NGNGこれでいいんですか?
hello world!と出るもんじゃないんですか?
0092デフォルトの名無しさん
NGNGstadio.hになっていませんように・・・(-人-)ナムナム・・・
0093デフォルトの名無しさん
NGNG実行ファイル(hello.exe)ができてないか?
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNG歴史上10人も居ないのではなかろうか。
0097デフォルトの名無しさん
NGNGおいらはVC++のcl.exeにD&Dしています。
0098デフォルトの名無しさん
NGNGありえねぇ
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGftp://ftp.cs.virginia.edu/pub/lcc-win32/lccwin32.exe
0101デフォルトの名無しさん
NGNG窓 か ら
投 げ 捨 て ろ
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNGそのシミュレータをC言語で作ってみます。
0104デフォルトの名無しさん
NGNGよろしくおながいします。
0105221
NGNG皆さん、ご協力ありがとうございました。
本当に感謝してます!
0106デフォルトの名無しさん
NGNG結局、どうやって解決したの?
0107デフォルトの名無しさん
NGNG0108221
NGNGボーランドのコンパイラを落としてきました。
>>107
http://pc.2ch.net/test/read.cgi/tech/1026138039/
ここです
0109デフォルトの名無しさん
NGNGそこはたった今221になったと思うんだけども。
まさか余因子行列聞いてる212じゃないだろうな。
0110デフォルトの名無しさん
NGNG同じディレクトリにhello.exeがあるはずだが。
あとstadio.hはstdio.hの間違いだったろ?
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGいけなくないが、そのヘッダに#ifndef #define #endifの、例の
あれが書いてあるといいね。
0113デフォルトの名無しさん
NGNG#ifndef _HEADER_H_
#define _HEADER_H_
/* 中略 */
#endif
多重インクルード防止用のこういうやつ?
0114デフォルトの名無しさん
NGNG> 多重インクルード防止用のこういうやつ?
一応「インクルードガード」という名称がある。
0115デフォルトの名無しさん
NGNGついでに、random関数ってrandだけ良いのね。
これも知らずにリンカエラーでさんざ悩んだよ。
0116デフォルトの名無しさん
NGNG0117ツリー構造
NGNG0118デフォルトの名無しさん
NGNG名前を変えたの?
0119ツリー構造
NGNG今回の書き込みが初めてですけど
0121デフォルトの名無しさん
NGNGマルチすんな、ぼけぇと言いたいところだが、これ以上被害が広まるのもいやなので
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%83%AA%E3%82%B9%E3%83%88%E6%A7%8B%E9%80%A0+%E3%83%84%E3%83%AA%E3%83%BC%E6%A7%8B%E9%80%A0+%E9%81%95%E3%81%84&lr=
これでわからなかったらあ き ら め ろ
0122ツリー構造
NGNGおねがいします。
教えてください。
0123デフォルトの名無しさん
NGNG>>121さんが答えへの道を示してくれている
0124デフォルトの名無しさん
NGNG宿題はスレ違いだ。(・∀・)カエレ!
0125デフォルトの名無しさん
NGNG普通科行けなかったヤツが行くところとか?
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG大人をなめるんじゃねーぞ。このウソつき。
0128デフォルトの名無しさん
NGNGツリービューとリストビューくらい違うな・・・
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNGリストは分岐する気がしない
0131ツリー
NGNG別人にだまされたおまえらはDQN!
大人だかなんだかしらんが心の狹いやつらだな、おい!
0132ツリー構造
NGNG答えなんてソッコーでわかってんだよ!!
早く終わって暇だったから書き込んだだけ。
聞けっていうから聞いてやったのに、
結局だれも答えてねーじゃん。
0133デフォルトの名無しさん
NGNG0134ツリー
NGNGこの方程式は万国共通です。
すぐにネタだといって煽る奴=DQN
これもまたしかり
0135初心者
NGNGすみません。
ツリー構造について教えてください。
0136543
NGNG他スレの543ですが、
「2のべき乗」って、VBAだと
「2^5 とか、2^12」なんすけど、
C(C++、VC++)では違うんですか?
さっき2^4とか計算させたらエラーが出たんですけど。
0137デフォルトの名無しさん
NGNGネタじゃなくて天然だったのか。
バカすぎるぞ。
ネットで宿題の答え聞いてるガキはDQN。
これは万国共通(マジで)
0138デフォルトの名無しさん
NGNGエラーはでなくねぇ?
結果はぜんぜん違うけど
0139543
NGNGもう一度試してみるっす。
ちなみに今VC++でやってます。
0140デフォルトの名無しさん
NGNG演算子ではべき乗はないっす。
math.hをinclude してpow(2,4)かな
0141デフォルトの名無しさん
NGNG> さっき2^4とか計算させたらエラーが出たんですけど。
本当に試したのかよ。
エラーにはならないだろ。
0142デフォルトの名無しさん
NGNGエクスプローラの左を見なさい、それがツリーです。
エクスプローラの右を見なさい、それがリストです。
これでわからないようなドキュは氏んでください。
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG0145初心者
NGNGくたばれ!
Fuck yourself
0146デフォルトの名無しさん
NGNG0147143
NGNGピンポン同時。
0148初心者
NGNG0149543
NGNGビルドの段階で。
0150デフォルトの名無しさん
NGNG別人ならすごいな
0151543
NGNGありがとうございました。
「16」
と出ました。
0152543
NGNGpow(2,128)
をやってみました。実行はされたんですけど、
3.40282e+038
となりました。
これを完全に整数の形で表示させる事が出来ないものなのでしょうか?
0153デフォルトの名無しさん
NGNGどうせ有効桁数6桁だからその部分と'0'をずらっと並べる。
"3.40282000000・・・・"と
0154初心者
NGNG殺すぞ!おい、543!この野郎邪魔すんな!
0155デフォルトの名無しさん
NGNGあなたはこのスレに誤爆しないで・・・
0156デフォルトの名無しさん
NGNG完全な整数は無理。
そこまでの精度は無い
0158543
NGNGもしかして「近似」の結果なんすか???
ちなみに上の
「3.40282e+038 」
の意味を教えていただければと。。。
初心者でスンマソーン。。。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG3.40282 * 10^38
0162543
NGNG本当にありがとうございます。
0163161
NGNG3Pハァハァ
0164初心者
NGNG無視すんな!
真面目ぶってもおもしろくねぇぞ!
笑わせろ!
0165161
NGNGおまえが笑わせてみろよ(プ
0166543
NGNG「素数か否か」
を判定するプログラムってかなり難しいと考えていいですかね?
0167543
NGNGおっきい?
0168初心者
NGNG0169543
NGNG0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG多倍長整数演算のライブラリとか、どっかで拾ってくればいいよ。
0172543
NGNG0173デフォルトの名無しさん
NGNG割れなきゃ素数。
どおしても大きな値を扱いたいならそれなりに工夫が要る
組込型じゃ扱えない。
0174543
NGNG例えばですね、
全ての1以上の自然数nに対して、
n^2と、(n+1)^2 の間には必ず素数が存在する(リーマン予想)
はnが何兆の時まで正しい事が確認されている、らしいんです。
うーむ。。。これをCで動かすには。。。グタ。
0175デフォルトの名無しさん
NGNG0176543
NGNG0177デフォルトの名無しさん
NGNG文字列を使って計算すれば?
たとえばunsigned shortは65535までしか扱えないけど
char num[10]なら"100000000"だぞ。
もちろん四則演算も自分で実装する。
plus(num1, num2);とか
あるいは大きな数字は複数のintで表すとか。
12345678=
1234*10000 + 5678だろ?
そうすればint num1 = 1234, num2 = 5678で表して
2で割るならおのおのを2で割れば?
0178543
NGNGアイデアは嬉しいっす。
ありがとうございます。
ただですね、a+bをcで割る時に、
a,b両方がcで割り切れなくとも、a+bがcで割れることが
あるんです(例 a=b=1,c=2)。
0179デフォルトの名無しさん
NGNGまぁいいか。
0180デフォルトの名無しさん
NGNGそのへんも、ちゃんと実装するのよ
0181543
NGNGありがとうございました。
一旦落ちて飯の支度をします。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGどうしてもCじゃないとだめっすか?
このスレに書いている以上、どうしてもCじゃないとだめなのかもしんないけど。
標準でないライブラリを使ってもいいのであれば、
ttp://www.score.is.tsukuba.ac.jp/~okuma/OpenMath/
なんてどうだろう、って使ったことないんだけども。
bignumのある処理系使うと手軽なんだけど。
scheme (たいていbignum持ってる) とか、Rubyとか(この名前出すと厨房よってくるか?)。
でも処理の規模を考えるとこの辺の処理系使うのは速度に問題あり、かな。
0185543
NGNGええとですね、
俺はCの勉強も兼ねてるんです。
もう直ぐ三十路なのに職も無く、ぷらぷらするのも
なんなので、C(VC++)を勉強してそれ関係の仕事にと。。。
遅い?
0186デフォルトの名無しさん
NGNGどういう方面に就職希望かわからんけど、
素数の計算とかはあんまり深入りしないで、違うことやったほうが
いいと思う。
0187543
NGNGサンクス。
当方VBAはそこそこ使えますが、それ以外のプログラムは
html言語をちょろっと出来る程度なので凄く不安。。。
はぁ。。。
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGなるほど、そういうことね。
おれも>>186の言うことに半分賛成。
でもこういう風に自分で課題を設定して何かやろうとするのはいいことだと思うよ。
ただ、今回の課題は初心者にはレベルが高すぎるような気がする。
やるとすると、
struct bignum {
unsigned int *buf;
size_t len;
};
みたいな構造体を使ってごにょごにょすることになるんだろうけど、
メモリ管理とかややこしい問題が絡んでくるんでかなりきついと思う。
どういった本を読んでます? (この話題も荒れるかも)
とにかくCに関してはクズ本が99%を占めてるんで、
下手な本で勉強するとロクなことにならん。
おれが今まで読んだ中では Practical C というオライリーから出てる本がいいかな。
入門書はそんなに読んでないけど。他にちゃんと読んだつったらK&Rくらいだからなあ。
ttp://www.oreilly.co.jp/BOOK/cpra/
これね。岩谷の粗悪な翻訳も以前出てたのでそれを掴まされないように注意してね。
0190デフォルトの名無しさん
NGNG遅くないよ。
0191デフォルトの名無しさん
NGNGバリバリ稼いでいる奴がいるよ。
最近はさすがに疲れたのか、学生にアルバイトさせているが。
0192543
NGNG今手元にある本は、
「新C++言語入門 ビギナー編」 by 林晴比古
「新VisualC++6.0入門」 by ヾ
です。
先にも述べたとおり、これまで組んできた事のある言語は
HTMLとVBA。
VBAのほうは(マクロを組むと言うのかな)、ちゃんと金融会社
に勤務中に、ある計算をするためにプログラムを組んでいました
(moduleを沢山使いました)。
あとUNIXも使った事はあるんです。
手元にある本は
「UNIX プログラミング環境」 by kernighan and Rob.Pike
(石田 晴久訳)
です。
0193デフォルトの名無しさん
NGNG速く身に付くよ。
0194デフォルトの名無しさん
NGNG組めるらしいのですが、 具体的にどのくらい細かくまでプログラミングできるのでしょうか
0195デフォルトの名無しさん
NGNG細かさの意味がわからんが、大して変わらんかと
0196こうやって細切れに出来るって事かな
NGNGint
main
(
int
argc
,
char
*
*
argv
)
{
printf
(
"Hello "
"World.\n"
)
;
return
0
;
}
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGどーい。この分野ほど、知っているだけではなにもできない分野はないね。
なんでもひたすら試してみるといいよね。
0199デフォルトの名無しさん
NGNGrandomize
って使ってる?
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGfree
って使ってる?
0202デフォルトの名無しさん
NGNGって最近使ってる?
0203デフォルトの名無しさん
NGNGって知ってる?
0204199
NGNG020533
NGNG>34 36
ありがとう。
0206543
NGNG再び543っす。
仮に面接で、
「C言語できますか?」
ってきかれたら、俺のレベルで、
「簡単なプログラムなら出来ます」
って答えて問題無いすかね???
0207543
NGNGここの543でした。
すみません。。。
0208デフォルトの名無しさん
NGNG「簡単なプログラムなら出来ます」
なんて回答をしている時点で
相手には君のレベルが分かっちゃうからOK!
0209543
NGNGよくわからんです(笑)
0210デフォルトの名無しさん
NGNG具体的に作ったプログラムを言った方がいいのでは?
0211543
NGNG最新のものだと人に言えないかも。。。
http://pc.2ch.net/test/read.cgi/tech/1023530449/
C言語二日目。。。
0212デフォルトの名無しさん
NGNG0213543
NGNG0214デフォルトの名無しさん
NGNG0215543
NGNG0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGプログラムは細かく関数化したほうがいいですか?
フローチャートを書くことは勉強になりますか?
フローチャートって楽しいですか?
おねがいしまする
0218デフォルトの名無しさん
NGNG・物による。いろんな分割法あり
・まぁ、いい加減に書きまくるよりはイイかと
・俺は嫌い
0219デフォルトの名無しさん
NGNG厳密にはCには二次元配列はないと思った。
で、たとえば、
int ary[10][10];
なんて配列があったとして、要素数を求めるのは
sizeof(ary) / sizeof(ary[0][0])
だろうねえ。
0220デフォルトの名無しさん
NGNGありがとうございました
ググルで 関数 分割法で調べてみまする
0221デフォルトの名無しさん
NGNGありがとうございました。
C++にはあるんでしょうか・・・・?
でもそれはスレ違いになりそうなのでC++スレに逝ってきます
0222デフォルトの名無しさん
NGNGフローチャートは百害あって一利なしだと思う。
あっちゃこっちゃ飛ぶgotoの乱用みたいなチャートになりがちだし。
PADとかHCP(だっけか?)のほうがましだけど、
こういうのって擬似コード使うほうがよっぽどいいと思ってる。
0223217
NGNGやっぱり良くないですよね…
0224デフォルトの名無しさん
NGNGあっちでレスしてみたよ。584ね。
で、このレベルでプログラム書けます、というのは、うーん。
嘘じゃないけどもね(ニガワラ
まあでも仕事でやるとスキルがむちゃくちゃあがるからね。
独習よりははるかにいいと思う。
問題は、採ってくれるところがあるかどうかだけども(w
0225217
NGNG関数なんですが
0226543
NGNGどうもです。
あっちのレス読んできました。
ありがとうございます。
とりあえず俺としては、
「プログラムを組む上で最も基本的なことが抑えられていて、
且つ余計な事をしていないか?」
ということが問題だったのです。
といいつつ、気になるので質問させてください。
sm = ((a + b) * (b - a + 1)) / 2;
のほうが計算が速くなるとかっていうメリットはあるのでしょうか?
初心者ですんません。
0227デフォルトの名無しさん
NGNGうーん。まあVC++よりはCの話題だからこっちのスレでいいか(w
で、一般にループまわすよりは速くなります。
ただし欠点もあって、forでまわすよりもオーバーフローしやすいという問題があります。
掛け算してるところでね。
0228デフォルトの名無しさん
NGNG値が4つあって、その値を大きい順に並べて、
その順番を数値に当てはめて返すという
関数なんですが
例
A=2 B=5 C=4 D=1
だったら
cbadなので5を返す
というのなんですが、
ifとかつかわずに可能でしょうか。
if使うとものすごく長くなってしまったので
おながいします
0229デフォルトの名無しさん
NGNGわからん…
>例
>A=2 B=5 C=4 D=1
>だったら
>cbadなので5を返す
最大値を返すってこと?
0230デフォルトの名無しさん
NGNGポカーン
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG今世紀(はじまって間もないけど)最大の難問だ
何が言いたいのか全くわからん・・・
0233デフォルトの名無しさん
NGNG宿題?
A, B, C, Dが0未満じゃないと仮定して、こんな感じかな。
ただし、試してないよ。
#define numitem(a) (sizeof(a) / sizeof((a)[0]))
int max(a, b) {
return (a > b) ? a : b;
}
int foo(a, b, c, d) {
int i, m = 0, ary[4] = {a, b, c, d};
for (i = 0; i < numitem(ary); i++) {
m = max(m, ary[i]);
}
return m;
}
0234デフォルトの名無しさん
NGNG0235233
NGNG0236デフォルトの名無しさん
NGNGユークリッドの互除法でぐぐってみれ。
0237228
NGNG例えば
abcdという順番で大きければ1を返す
bacdならば2を返す
でbcadなので5を返すという風にしたいのです。
この数字はなんでもよいです…
何かしら返り血から順番がわかるようにしたいのです
おねがいします(;_;)
0238デフォルトの名無しさん
NGNG楕円曲線法でぐぐってみれ。
0239228
NGNGabcdを大きい順に変数M1からM4に格納して
M1が何なら どの値を返すという風に
IFを羅列しようと考えているのですが…
すいません
0240デフォルトの名無しさん
NGNGわかた〜よ!!
abcdの順列に番号をつけておいて
大きい順に並べ替えたものに対応する番号を返すんだね!!
0241228
NGNG配送です。
おめがいします
すいません
0242デフォルトの名無しさん
NGNGreturn (srt[0]*10000 + srt[1]*1000 + srt[2]*100 +srt[3]);
0243228
NGNG誤植ばっかりですいません2ch怖いので…
それってひとつの値が10を超えても大丈夫ですか?
引数の値は不定値で桁数がわからないのです。
0244デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int A=2, B=5,C=4, D=1;
int values[] = {A, B, C, D };
int result = 0;
for( int j = 0; j<4; ++j ) // j 番目に大きい数字を見つけて result に入れる
{
int min = 0;
int minIndex = -1;
for( int i = 0; i<4; ++i )
{
if ( values[i]>min )
{
minIndex = i;
min = values[i];
}
}
result |= (minIndex+10)<<(j*4);
values[minIndex] = 0;
}
printf( "%X\n", result );
return 0;
}
0245デフォルトの名無しさん
NGNG0246228
NGNGおおすごい
なるほど、
たしかにそうなんだな…
abcdを数字にすれば返せるし
ありがとうございました
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGここはどう?
http://www.mars.dti.ne.jp/~torao/program/appendix/japanese.html
0250デフォルトの名無しさん
NGNGと書くのですか?
0251デフォルトの名無しさん
NGNG#define NULL 0と書かれている場合もあるよ。
それとセミコロンはいらない。
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGC では
#define NULL (void *)0
と書きますが、なぜ C++ では
#define NULL 0
と書くのですか?
0254デフォルトの名無しさん
NGNGNULL というマクロを使わないでプログラム組んでみればわかるよ。
0255デフォルトの名無しさん
NGNGつーか、C++では NULL の代わりに 0 と書けよ。
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNGCではいけなかったのでは?汎用機の一部には、NULL != 0のものが
あったような記憶が。
0258デフォルトの名無しさん
NGNG規格上はokよ。処理系によってはだめなのもあるけど。
いまだにプロトタイプ使えない処理系ある(らしい)のと一緒ね。
0259258
NGNGそうか、プロトタイプが foo(int bar, ...); みたいな関数の不定数引数に
ヌルポインタを渡すときだけはキャストする必要があるみたいだな。
ttp://www.catnet.ne.jp/kouno/c_faq/c5.html#2
0260デフォルトの名無しさん
NGNG拾ったexampleソースをCでコンパイルしようとしたら、//が全部エラー出ました。
0261デフォルトの名無しさん
NGNGはCとC++のコメント
//comment
はC++のコメント
C++を知らないCコンパイラなら上記のコメントしか受け付けないだろうね。
0262デフォルトの名無しさん
NGNGおお、なるほど。
どうも有り難うございました。
0263デフォルトの名無しさん
NGNGgccなら//もコンパイルできるよ
0265デフォルトの名無しさん
NGNG動的に構造体の配列を取ろうとしてるのですが・・・
うまく動かなくて困ってます。
http://isweb25.infoseek.co.jp/computer/pcqa-2ch/cgi-bin/img/311.zip
・・・に、ソースを置かせてもらってます。
どなたか、アドバイスお願いします・・・。
0266デフォルトの名無しさん
NGNG0267265
NGNG罠ではなく、マジです(汗
PC初心者板用のアップ板を借りてます。
0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNG1Kもないようなソースを圧縮すんなよ。
0270デフォルトの名無しさん
NGNGTestの中のintやcharまでポインタにする必要はない
0271265
NGNGいや・・・癖でして・・・・
>>267
このソースは、抜き出した物でして・・・
どうしても、構造体の中の変数をポインタで取りたいのです。
このソースで、構造体の配列って作れてますかねぇ〜?
0273デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
struct Test{
int test01;
char test02[2];
};
int main ()
{
int i;
struct Test *test;
test = (struct Test *) calloc (3, sizeof(struct Test));
test[0]->test01 = 10;
test[0]->test02 = 'a';
test[1]->test01 = 20;
test[1]->test02 = 'b';
test[2]->test01 = 30;
test[2]->test02 = 'c';
for (i=0; i<3; i++) {
printf("%d %s", test[i]->test01, test[i]->test02);
}
return 0;
}
試してないが。
0274デフォルトの名無しさん
NGNGtest[0].test01 = 10;
test[0].test02 = 'a';
これって、
int *pi;
char *pc;
pi = 10;
pc = 'a';
と同じようなことやってんだけど、どこがおかしいかわかる?
0275デフォルトの名無しさん
NGNG> test[0]->test02 = 'a';
いや、ここは
strcpy(test[0]->test02, "a");
もしくは
test[0]->test02[0] = 'a';
test[0]->test02[1] = '\0';
だろう。
0276デフォルトの名無しさん
NGNGめんご。
0277デフォルトの名無しさん
NGNG「取りたい」というのは「自分の気持ち」でしょ?
論理的または理論的根拠にはいくらでも拘ればいいと思うけど、
自分の気持ちを拘りの根拠にしてたら上達は望めないと思うよ。
0278デフォルトの名無しさん
NGNGどんまい
0279デフォルトの名無しさん
NGNG構造体配列はできてるが構造体メンバがポインタなのにいきなり
値を代入してるのは間違い。
メモリをアロケートしてそこをポインタに指させるまでポインタは使えない。
つまり
test[0]->test01 = (int *)malloc(sizeof(int));
test[0]->test02 = (char *)malloc(n * sizeof(char));
みたくメモリを確保しないと。
0280デフォルトの名無しさん
NGNGどうしても構造体のメンバをポインタでやりたいというのなら、
int t0;
t0 = 10;
test[0]->test01 = &t0;
test[0]->test02 = "a";
または、
test[0]->test01 = (int *)malloc(sizeof(int));
*test[0]->test01 = 10;
test[0]->test02 = "a";
こんなかんじでやれ。
"a"と'a'の違いはわかってるよね。
0281デフォルトの名無しさん
NGNGint b=2;
foat f;
f=a/b
以上のように、2つの変数をint型で、その2つの変数の割り算の結果を収めるのにfloat型で宣言した場合、小数部分は切り捨てられ、1.0という出力結果になります。
2つの変数をint型のままでちゃんと割り算の結果を1.5と出力したい場合どうすればよいのですか。方法はありますか。
0282デフォルトの名無しさん
NGNGf = (double)a / b
0283デフォルトの名無しさん
NGNGキャストする。
f = (float)a/b;
0285282
NGNGてかfloatなんか使うなYO!(逆ギレ)
0286265
NGNG>>273
わざわざ、ソースを書いていただいてありがとうございます。
う〜ん、しかし同じようなエラーが出ます・・・
>>275さんの修正を入れても、エラーが出てしまいます・・・。
>>274
ええ、どこがおかしいか分かります。
しかし、アローを使うとエラーが出てしまってコンパイルすら通らず・・・
ドットだと、警告は出るものの、コンパイルが通るので、コンパイルして、
実行。 即エラー終了。 この時点で途方にくれてました・・・(汗)
>>277
言葉が悪かったです・・・
「取りたい」のではなく、「ポインタで取る必要がある」です。
すんません・・・。
>>279
はい、試させてもらいました。
しかし、「-> か ->* の左には構造体のポインタが必要」というエラーが出てしまって・・・
>>280
えっと、同じく、「-> か ->* の左には構造体のポインタが必要」のエラーがでます・・・
う〜〜ん・・・
ここまでエラーが出るとコンパイラを疑いたくなります(苦笑)
0287273
NGNG0288273
NGNG#include <stdlib.h>
struct Test{
int *test01;
char *test02;
};
int main ()
{
int i;
struct Test *test;
test = (struct Test *) calloc (3 , sizeof(struct Test));
test[0].test01 = (int *)malloc(1 * sizeof(int));
test[0].test02 = (char *)malloc(2 * sizeof(char));
*test[0].test01 = 10;
test[0].test02[0] = 'a';
test[0].test02[1] = '\0';
test[1].test01 = (int *)malloc(1 * sizeof(int));
test[1].test02 = (char *)malloc(2 * sizeof(char));
*test[1].test01 = 20;
test[1].test02[0] = 'b';
test[1].test02[1] = '\0';
test[2].test01 = (int *)malloc(1 * sizeof(int));
test[2].test02 = (char *)malloc(2 * sizeof(char));
*test[2].test01 = 30;
test[2].test02[0] = 'c';
test[2].test02[1] = '\0';
for (i=0; i<3; i++) {
printf("%d %s", *test[i].test01, test[i].test02);
}
return 0;
}
おわび。freeしてません。
0289デフォルトの名無しさん
NGNG>>283
ありがとうございます!
0290デフォルトの名無しさん
NGNG以下長文スマソ
#include <stdio.h>
#include <stdlib.h>
struct Test{
int *test01;
char *test02;
};
struct Test *
Test3_new()
{
struct Test *test = (struct Test *) calloc( 3, sizeof(struct Test) );
int i;
for ( i = 0; i < 3; i++ ) {
test[i].test01 = (int *) calloc( 1, sizeof(int) );
test[i].test02 = (char *) calloc( 2, sizeof(char) );
}
return test;
}
int main ()
{
int i;
struct Test *test;
test = Test3_new();
*(test[0].test01) = 10;
test[0].test02[0] = 'a';
test[0].test02[1] = '\0';
*(test[1].test01) = 20;
test[1].test02[0] = 'b';
test[1].test02[1] = '\0';
*(test[2].test01) = 30;
test[2].test02[0] = 'c';
test[2].test02[1] = '\0';
for (i=0; i<3; i++) {
printf("%d %s\n", *(test[i].test01), test[i].test02);
}
return 0;
}
0291デフォルトの名無しさん
NGNG> >>279
> はい、試させてもらいました。
> しかし、「-> か ->* の左には構造体のポインタが必要」というエラーが出てしまって・・・
あ、そうか。testの型はTest*だから、test[0]の型はTestだ。
だから、.(ドット)演算子を使うべきであった。
0292デフォルトの名無しさん
NGNG改造してみた。
#include <stdio.h>
#include <stdlib.h>
struct Test{
int *test01;
char *test02;
};
void Test_new(struct Test *t, int n, char c)
{
t->test01 = (int *)calloc(1, sizeof(int));
t->test02 = (char *)calloc(2, sizeof(char));
if (!t->test01 || !t->test02)
exit(3);
*t->test01 = n;
t->test02[0] = c;
t->test02[1] = '\0';
}
int main ()
{
struct Test *test = calloc(3, sizeof(struct Test));
int i;
Test_new(&test[0], 10, 'a');
Test_new(&test[1], 20, 'b');
Test_new(&test[2], 30, 'c');
for (i=0; i<3; i++) {
printf("%d %s\n", *test[i].test01, test[i].test02);
}
return 0;
}
0293デフォルトの名無しさん
NGNGファイルの大きさが事前に分らないため配列のサイズを正確に予測できない場合、
どうしたらいいのでしょうか。何か関数とかあるのですか
0294超初心者
NGNGfloatのデータ型を確かめようと下記のソースをコンパイル&実行したところ
0.123457
1234567.000000
1234567.125000
と出力されました。
期待した結果は
「1234567.1234567」
だったのですが何故小数点以下が「.125」になったか超初心者なので解りません。
環境 kernel 2.4.17 + gcc2.95.3
------------------------------
#include <stdio.h>
main()
{
float a,b,c;
a=0.1234567;
b=1234567;
c=a+b;
printf("%f\n",a);
printf("%f\n",b);
printf("%f\n",c);
}
------------------------------
0295デフォルトの名無しさん
NGNGmalloc
0296デフォルトの名無しさん
NGNG最初適当な大きさでmallocしておき、足りなくなったらreallocでまた
拡げればよい。
0297265
NGNG本当にありがとう!
書いてもらったソースをすべて試させてもらいました。
すべて、正常にコンパイルが通って正常処理をしてくれました。
う〜ん、本をもう一度読み返してちゃんと勉強します(汗
本当に、ありがとうございました〜!
0298デフォルトの名無しさん
NGNG適当に配列を伸ばしながら(大きめに確保してコピーを繰り返す)読み込む
0299デフォルトの名無しさん
NGNGfloatだから有効桁数が足りない。doubleにすればよい。
0300デフォルトの名無しさん
NGNG0301294
NGNG本で読んだのは有効桁数7桁と読んだのですが
整数7桁と小数点以下7桁の両方が存在した場合にどう再現されるか知りたく
粗探しをしたのですが、ハンパに小数点以下が残っているのが気になって....。
0302デフォルトの名無しさん
NGNGこれでどう?
fp はオープン済みのファイルポインタ。エラー処理省略。
あと、テストしてない
unsigned len = 0;
while ( getc(fp) != EOF ) len++;
char *str = (char *) malloc( sizeof(char) * (len+1) );
fseek( fp, 0L, SEEK_SET );
fread( str, sizeof(char), len, fp );
str[len] = '\0';
0303293
NGNG0304デフォルトの名無しさん
NGNGa[i] = i++;
というコードはうまく作用しないという話を聞きました。
その理由としてi++は副作用をもたらすという理由があるから
と聞きましたがどのような副作用なのでしょうか?
解説おねがいします。
0305デフォルトの名無しさん
NGNGなんかこの質問って定期的に出てくるんで、
本当に知りたいのかネタなのか分からんべ。
0306デフォルトの名無しさん
NGNGこれを読め。
ttp://www.catnet.ne.jp/kouno/c_faq/c3.html
0307デフォルトの名無しさん
NGNG何か問題があるという話を聞いたような気もしないでもないけど…
0308デフォルトの名無しさん
NGNGASCIIモードで開いたときの問題かな?
0309デフォルトの名無しさん
NGNG特定の場所で何故かエラーが起きる。
printfをかけまくって、エラーになっているラインは探し当てたけど、
どーーーーしても
なんてことないその処理がエラーを出している原因がわかりません。
UNIXgccのCGIで作ってますが、エラーのログとか確保する方法はないんでしょうか?
がいしゅつだったらすいません。
0310デフォルトの名無しさん
NGNG% ./a.out > err.log
でいいんじゃないか。
0312デフォルトの名無しさん
NGNGあ、ごめん。CGIなのね。デバッグ出力用の関数作って、
えーとたとえば、
#define DEBUG_LOG = "~/debug.log"
void debug_printf(char *format, ...) {
va_list ap;
FILE *fp = fopen(DEBUG_LOG, "a");
if (!fp)
exit(3);
va_start(ap, format);
vfprintf(fp, format, ap);
va_end(ap);
fclose(fp);
}
とかいうので出力しといて、シェルから
% tail -f ~/debug.log
とやっとけばいいんじゃないの。
0313デフォルトの名無しさん
NGNG2の補助表現とか浮動小数点表現
についてのっているサイト教えてください
0314デフォルトの名無しさん
NGNGprintf("Content-Type:text/html\n\n");
この行はある?text/htmlじゃなくてもいいけど。
0315デフォルトの名無しさん
NGNGんなこたぁGoogle先生に聞けよ。
ちなみに ×補助→○補数 な。
0316デフォルトの名無しさん
NGNG基本情報処理のテキストを買え。
0317313
NGNGのってるのかな?
0318313
NGNG0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGtypedef struct{
char a:2;
char b:2;
}KOU;
KOU k;
void main()
{
k.a=2;
k.b=1;
printf("%d %d\n",k.a,k.b);
}
なぜかk.aが-2が表示される。なんで?
00000010
だから2が表示されるんじゃないの?
0321デフォルトの名無しさん
NGNGビットフィールドは無条件でunsignedになります。
0322デフォルトの名無しさん
NGNGじゃなかったスマソ、signed charだからこそマイナスになるんだ。
0323デフォルトの名無しさん
NGNGビットが立ってしまう。つまりsigned charからすると、マイナスの値
になってしまう。
printfする時にintに拡張されて、この符号ビットが伸びてしまう。
0324デフォルトの名無しさん
NGNGtypedef struct{
char a:2;
unsigned char b:2;
}KOU;
KOU k;
void main()
{
k.a=2;
k.b=2;
printf("%d %d\n",k.a,k.b);
}
これだと、bはunsigned charなので、intになる時に符号拡張が起きない。
従って2が表示される。
0325デフォルトの名無しさん
NGNGsigned int か unsigned int のみでは?
gcc -pedantic -Wall だと warning が出る。(gcc 2.95.2)
char でも long でもよいのは C++ だろう。
0326デフォルトの名無しさん
NGNG0327320
NGNG0328デフォルトの名無しさん
NGNGNULL
・定数の "0" は、文脈によってヌルポインタ、または整数の 0 として解釈される。ただし、可変長引数、またはプロトタイプをもたない関数の引数に現れた場合は整数の 0 として解釈される。
また、整数型とポインター型とで多重定義している関数の引数では、解釈は実装依存となる(C++ 限定)。
・ヌルポインタのビットパターンは実装依存である。
・条件式にヌルポインターが現れた場合、偽となる。
・ヌルポインタとヌルポインタとは等しい。
・ヌルポインタとその他のポインタとは、常に等しくない。
・ポインタ型によりヌルポインタのビットパターンが異なる場合があるが、コンパイラは(騙されない限り)正しい型を知っているので、比較は正しく行われる。
・NULL は 定数 "0" がヌルポインタとして解釈される場合のみ、定数 "0" の代わりに使用できる。他の文脈では、結果が実装依存となる。(NULL を整数 0 の代わりに使用してはいけない)
・NULL の定義方法は処理系に依存する。
0329名無しさん@カラアゲうまうま
NGNG> #define DEBUG_LOG = "~/debug.log"
これが示すものは、カレントディレクトリにある"~"というディレクトリの下
の"debug.log"というファイルであって、ホームディレクトリにある
"debug.log"ではない。Cの標準ライブラリで~を展開するものはない。
0330312
NGNGそうでした。恥ずかしい。
ちなみに、ライブラリが~をホームディレクトリに展開してくれたとしても、
CGI実行時のホームディレクトリ(普通ない)と
シェルでのホームディレクトリ(/home/login id)の位置は
一般に異なるんで、みられないっすよね(意味のない議論)。
でもいいたいことは伝わったんじゃないかな、と(必死だ)。
0331名無しさん@カラアゲうまうま
NGNG> 一般に異なるんで、みられないっすよね(意味のない議論)。
みられないっすよ(意味のない同意)。
> でもいいたいことは伝わったんじゃないかな、と(必死だ)。
伝わっちゃいるがね。
0332332
NGNG0333333
NGNG0334デフォルトの名無しさん
NGNGそんなチップとかPCとかあるの?
0335デフォルトの名無しさん
NGNGどうでもよいが唐揚げよこせ。
0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNGVCのソースをnmakeするとwin32.makがありませんと出てきます。
VC持ってないんで、Bolandか.Netでのコンパイルの仕方ご存じないでしょうか
0338デフォルトの名無しさん
NGNGスレ違い。
0339デフォルトの名無しさん
NGNGよく知らないけど。
0340デフォルトの名無しさん
NGNGどこで聞けばいいでしょうか
MSDNのサンプルはMakefileに全部
!include <win32.mak>
と書いてあって、先にすすまないんですよ
せめてその辺のことがわかるサイトだけでも・・・
0341デフォルトの名無しさん
NGNGただで使えるBorland〜スレ
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNGtypedef struct{
char a:2;
char b:2;
}KOU;
KOU k;
void main()
{
k.a=2;
k.b=1;
printf("%d %d\n",k.a,k.b);
}
なぜかk.aが-2が表示される。なんで?
00000010
だから2が表示されるんじゃないの?
↑最上位ビットだから。という事は,0と1を入れたい場合は,2ビットではなく3ビットでなくてはならないんですよね?
0344デフォルトの名無しさん
NGNGコンパイルしたければ、win32.makをincludeしないで、自分で
必要な分を定義すれば.netで使えるはず。
win32.makって再配布可能とされていないので、内容を書くことは出来ません
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNG安心しろ。俺もだ。
特に最後の行は全く意味が分からん。
>>343
2ビットのchar(恐らくsigned char)がintに型変換される時に
最上位ビットが立ってる=負数だから型変換の結果も負数になったのでは。
typedef struct{
unsigned char a:2;
unsigned char b:2;
}KOU;
または
printf("%d %d\n",k.a & 3,k.b & 3);
でいけると思う。後者推奨。
0347デフォルトの名無しさん
NGNG0と1だけなら1ビットでいいに決まってるじゃん。ただその値はintに拡張
すると0と-1になるから、unsigned intにキャストして使えば0と1になる。
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGどうもありがとうございます。
とりあえず、341さん御紹介の
BCCスレの過去ログでwin32b55.makなるものを発見。
それから.Net勉強してみます。感謝!
0350デフォルトの名無しさん
NGNGゲームを作っているとどうしてもグローバル変数を使わなければならなくなるのですが。
実際のところどのようにしてる?
0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNGそうでないならSingleton一つ設置しておくだけだな。
0353デフォルトの名無しさん
NGNGstatic int hoge;
という変数があって、この変数にアクセスするのに
GetHoge(), SetHoge() のような関数を使うとするでしょ。
これって、グローバルにアクセスしてるのと大差ないような気が
するんだけど、これでいいの?
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNGモジュール変数
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG呼び出し側(ソースファイルが異なる)でhoge=0;とやっても大丈夫だもん。
0358357
NGNG0359デフォルトの名無しさん
NGNG>>グルーバル変数をなるべく使うなと,書いている
0360デフォルトの名無しさん
NGNGassertと併用するといい感じになる。
0361名無しさん@カラアゲうまうま
NGNG定義側でstaticにしてなかったらダメだろ。
0362デフォルトの名無しさん
NGNGそんなに関係ないだろ。
ライブラリや、多人数作業の時は必須だけど。
0363デフォルトの名無しさん
NGNGそれを言ったら個人で使うなら何をやっても良いと思われ。
0364デフォルトの名無しさん
NGNGんなこたぁ〜ない。
0365デフォルトの名無しさん
NGNGつまるところ、そうだろ。
公開ライブラリ作るとか、仕事でモジュールを作るとかだったら気をつかうけど、
自分でつかうオナーニプログラムでそんなには気にしないだろ。
とりあえず動けばおーけーで。
0366デフォルトの名無しさん
NGNGまぁ、同意。
いざ、誰かに見せる段になって恥かくかも知れないけどね。
0367デフォルトの名無しさん
NGNGいや、普段からそうしてると、業務でもコーディングが
荒れてきちゃうよ。
個人的には、其の辺りをプライベートでもきっちりやる
のがアマとプロの違いだと思っておりますですハイ
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGstatic int hoge;はヘッダに書く必要はないだろ?
それはつまりhogeの存在を隠蔽出来るってことだ。
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNGというのもPerlの本にerrnoはUNIXシステムコールが返すエラー番号だと書かれていましたので。
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG書き換えていいかどうか自分で判断できるまで我慢しる。
>UNIXシステムコールが返すエラー番号だと書かれていましたので。
これは表現が正確じゃないな。
っつーか、perl の本を読む前に K&R なり企画書なりを読めYO!
0375デフォルトの名無しさん
NGNGfor(i=0;i<2;i++){
if((msglen[i] = read(s[i+1],&str[i],1)) < 0){
perror("read");
exit(1);
}
}
if((strncmp(&str[0], &str[1], 1)) == 0){//引き分けの場合
printf("%s\n",buf2);
printf("a1");
for(i=1;i<3;i++){
write(s[i],buf2,strlen(buf2));
}
continue;
}else{
exit(0);
}
}
以上のwhile文のところで、思うような動作をしてくれません。
ifの条件をみたした時、こっちとしては普通にもう一度はじめから動作して
欲しいのですが、なぜか全部3回繰り返した後、こっちの動作を受け付けるように
なるんですけど、なぜでしょうか?
0376デフォルトの名無しさん
NGNGあ?
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG見難い
0380名無しさん@カラアゲうまうま
NGNGs[0]は使わんの?
> 以上のwhile文のところで、思うような動作をしてくれません。
> ifの条件をみたした時、こっちとしては普通にもう一度はじめから動作して
> 欲しいのですが、なぜか全部3回繰り返した後、こっちの動作を受け付けるように
> なるんですけど、なぜでしょうか?
whileの中にforがあって、その中でcontinueしてるから。
0381デフォルトの名無しさん
NGNGreadとwriteのパラメータってこれでいいの?
配列sにはopen(2)で返ってきたファイルディスクプリタが入ってるのかな。
あとcontinueはいらないし。どうせelseせずwhileまで落ちるんだし。
>>380
>whileの中にforがあって、その中でcontinueしてるから。
それはねえだろ。forの中でcontinueしてないよ。
0382デフォルトの名無しさん
NGNGs[0]は親プロセスで使ってます。これは子プロセスなので。
長すぎたので省略しました。
continueをはずしても同じように3回繰り返されてしまいました。
0383デフォルトの名無しさん
NGNG配列s[1]と[2]にはacceptしたファイルディスクリプタが入っています。
0384デフォルトの名無しさん
NGNGその前に「思うような動作」ってなに?
回答者の解釈をあてにするな。
0385デフォルトの名無しさん
NGNGなるほど、ソケットか。
えと、3回繰り返されるってのは、
printf("%s\n",buf2);
printf("a1");
が3回、えーとたとえばbuf2が"hoge"だったとして、
hoge
a1
hoge
a1
hoge
a1
と出ているってこと?
0386375
NGNGそうです。本当は、
hoge
a1
だけかかれて、read()に戻ってほしいのですが、そうなってしまうんです。
>>384
すいません。上のような動作をしてほしいです。
0387デフォルトの名無しさん
NGNGなるほど。えと、ソケットの向こう側で1文字送ってるつもりが
3文字送ってた、なんてことは、いくらなんでもないかな(w
printf("%s\n",buf2);
を
printf("%s: %02x: %02x\n",buf2, msglen[0], msglen[1]);
に置き換えたらどうなるだろう。
0388名無しさん@カラアゲうまうま
NGNG> >whileの中にforがあって、その中でcontinueしてるから。
> それはねえだろ。forの中でcontinueしてないよ。
forは二つあるんだが。
0389375
NGNG: 01: 01がbuf2の後に三回出力されました
0390デフォルトの名無しさん
NGNGうん。どっちもforの中でcontinueしてないよ。
とりあえず、整形してインデントあわせて見てみたけど。
0391デフォルトの名無しさん
NGNGむー、わからんなあ。コード自体はおかしなところないようだし。
さっきも書いたけどソケットの向こう側で1文字のつもりが
3文字書いていたのでなければお手上げだ。
0392375
NGNG3文字書いてはないのですが、さっきのプログラムのwhileの直後に
printf("str[0]:%c\n", str[0]);
printf("str[1]:%c\n", str[1]);
をいれて試してみたところ、やはり2回目と3回目では
str[0]とstr[1]には何も入ってなく、そのままif文にとんで繰り返して
いるみたいでした。
けど3回くりかえすのはなんでなんでしょう・・・?
0393デフォルトの名無しさん
NGNG最初のifが変。
0394375
NGNG0395デフォルトの名無しさん
NGNGそれで期待した値がmsglenに入ってる?
と思ったけど、違うような気もしてきた。スマソ
0396デフォルトの名無しさん
NGNGを
printf("a1\n");
に変えたらどうなるだろう?と言ってみるテスト
0397デフォルトの名無しさん
NGNGreadがどんな値を返してるのか調べてみたら?
0398初心者なんですが
NGNGa〜xまでの順列のパターンを列挙させたいんですが、C言語で
どうつくったらいいんでしょうか?
関数とかありますか?ヒントをいただけたらと思うんですが。
例 ABC,ACB,BAC,BCA,CAB,CBA
0399デフォルトの名無しさん
NGNGfor(str[0] = 'A'; str[0] <= 'X'; str[0]++)
for(str[1] = 'A'; str[1] <= 'X'; str[1]++)
for(str[2] = 'A'; str[2] <= 'X'; str[2]++)
printf("%s\n", str);
0400デフォルトの名無しさん
NGNGchar str[4];
str[3] = '\0';
for(str[0] = 'A'; str[0] <= 'X'; str[0]++)
for(str[1] = 'A'; str[1] <= 'X'; str[1]++)
if ( str[0] == str[1] )
continue;
else
for(str[2] = 'A'; str[2] <= 'X'; str[2]++)
if ( str[0] == str[2] || str[1] == str[2] )
continue;
else
printf("%s\n", str);
もっとスマートな方法ないのかな〜?
0401初心者なんですが
NGNGありがとうございます。
>399
すいません、同じ値が出てきてしまいます。
>400
「使用できない文字があります。」となってしまいます。どうしてかなぁ?
自分で探せばいいんですが。
ちょっと説明が足りなかったんですが、順列の値をもとに計算とかの処理をさせて
最小の値の順列を求めるということをさせてみようと思ったんですが、
配列とfor文駆使すればいいのかな?知識がないんで頭が痛いです。
0402デフォルトの名無しさん
NGNG順列生成だったら「c言語による最新アルゴリズム事典」
とかにも書いてあるよ
0403394
NGNGacceptしたファイルディスクリプタからの入力を読みとりたいのですが、
whileで何度も読みとりたいのですが、1回目は読みとれるのですが、
2回目以降読みとらずに、勝手に進んじゃいます。
もしかして、一回ずつacceptしなおさないといけないのでしょうか?
0404394
NGNG0405名無しさん@カラアゲうまうま
NGNGスマソ。グチャグチャなインデントにだまされた。
0406名無しさん@カラアゲうまうま
NGNG何度もってのが接続ごとにという意味なら当然そのたびにaccept()が必要だが、
どういう風にやってるのかソースを出すべし。
>>404
同時にってどういうことよ? fork()してからselect()は当然可能だが。
0407デフォルトの名無しさん
NGNGスマートかどうかわからんけど、より汎用的なのを作ってみた。
はじめは、[a-x]に24文字あるから、24進数3桁の数字を111から
カウントしていくってコードを思いついたけど、
汎用にしたらオーバーフロー起こしそうな感じだったので
再帰で実装してみた。
#include <stdio.h>
#include <string.h>
void rgenerate(unsigned int digit, const char *seed, char *buf)
{
int i;
if (!digit) {
puts(buf);
return;
}
for(i = 0; i < strlen(seed); ++i) {
buf[digit - 1] = seed[i];
rgenerate(digit - 1, seed, buf);
}
}
int generate(unsigned int digit, const char *seed)
{
char *buf = (char*)malloc(digit + 1);
if (!buf) {
return -1;
}
buf[digit] = '\0';
rgenerate(digit, seed, buf);
free(buf);
}
int main(int argc, char * argv[])
{
generate(3, "abcdefghijklmnopqrstuvwx");
return 0;
}
0408デフォルトの名無しさん
NGNGインデント無しでその括弧付け・・・
0409デフォルトの名無しさん
NGNGすまん、emacsからそのままコピペ。
行頭の半角スペースは見えなくなっちゃうのよね…
0410デフォルトの名無しさん
NGNGそういう時は、エディタにコピーしてインデント付けながら読むとえ〜よ。
0411名無しさん@カラアゲうまうま
NGNG0412デフォルトの名無しさん
NGNGかちゅは無理
0413名無しさん@カラアゲうまうま
NGNG にするとかいう機能があるといいかもね。
0414デフォルトの名無しさん
NGNGん?>407はかちゅでちゃんとインデント付いて見えたけど
0415デフォルトの名無しさん
NGNG0416デフォルト名無しさん
NGNG返してくれます。
変数"ss"は5文字と指定しているのに。
どうしてなのでしょうか?
教えてください。
int main()
{
char ss[5];
cin >> ss;
cout << ss << '\n' << ss << '\n' ;
return 0;
}
0417デフォルトの名無しさん
NGNG単に配列ss[]がオーバーフローしているだけ。関数を呼び出したりしてから
表示するとバグる可能性大。
0418デフォルトの名無しさん
NGNGってーかC++だし。
0419デフォルトの名無しさん
NGNGうむ。4文字までだな。'\0'を入れて5文字まで。
0420デフォルトの名無しさん
NGNGそれ、8文字以上でも大丈夫か?
0421名無しさん@カラアゲうまうま
NGNGもっと大量に打ち込むと表示するときにコケるかも試練。
0422デフォルトの名無しさん
NGNG0423416
NGNGエラーという反応だった。
ところで416に書いたプログラムがC++とどうしてわかったん???
0424デフォルトの名無しさん
NGNGCにoperator>>()もstd::cinもない
0425Pennis M.Ritchie
NGNG0426デフォルトの名無しさん
NGNGおいおいそんなことぐらいわかるよ、 ね。
0427416
NGNGマジで解らんかった。。。
このレベルならCもC++も同じなんだろうな、くらいの
感覚でここに書き込んだ。
迷惑だったらスンマソン
0428デフォルトの名無しさん
NGNG違反おきなかったら逆に怖くない?
0429デフォルトの名無しさん
NGNGwin32API使わないと入力欄とか作れないのかな?
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNGMS-DOSではないものを作る=ウィンドウズプログラムを作る
つーこと?
ウィンドウズプログラムを作るは、win32APIはほぼつかうです。
0432デフォルトの名無しさん
NGNG違反が起きないこともありうる。
randが返してきた値をポインタに変換したとき、
偶然スタックを指してたとかヒープを指してたとか。
書いた場所がスタックにある関数の戻りアドレスだったり、
レジスタを退避した場所だったりしたら一見関係ない場所で大抵クラッシュするだろうけど、
そうじゃない場合もありうる。
まあ大抵は違反が起きてくれるだろうけど。
だからこの種のポインタの値が腐ってるコードが一見うまく動くように
偶然なってしまった場合、非常に見つけ出すのが困難なバグになる。
0433デフォルトの名無しさん
NGNGi=0;i<30;i++
というループのなかでちょうどよくその点を中心に横半径RX 縦半径RY の円を描く様な点を求めるにはどうコーディングすればよいのでしょう?
0434デフォルトの名無しさん
NGNGいいなおしてくれ
0435433
NGNGすみません。つまり、
int rx=40,ry=30;//半径40、30の楕円
int x=100,y=100;//中心
int p_x[30];//点を格納する配列
int p_y[30];//同上
for(int i=0;i<30;i++){
//ここで、rx,ryの円を描くように繰りかえし回数と等しい変化の割合で上限30個の点を求めたい。
}
0436デフォルトの名無しさん
NGNG12度ずつ角度をつけて(cos,sin)で半径rxの正円を書いてから、
縦に(ry/rx)倍して最後に(x,y)だけ平行移動
0437436
NGNG0438433
NGNGなるほど!形の綺麗さにはこだわらない部分なので大丈夫です。どうもありがとうございました。
0439デフォルトの名無しさん
NGNGおいらどっちかと言えば str+1 よりも &str[1] の方が好き。
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNG規模の小さいプログラムなら関数の定義の順番を工夫して
書かないで済ませることもあります。
しかしソースを複数に分割するような場合は必ずプロトタイプをヘッダに書いてincludeします。
ちょっとした労力でバグが入る可能性を大きく減らせますから。
しかもプロトタイプがないと、コンパイラは関数の返す値をintと仮定しちゃうので、
いろいろ面倒なことも起こりがちですし。
staticな関数の場合はプロトタイプ書かないことが多いです。
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNG当然だ。
externならヘッダーファイルに、staticなら同じファイルに書いている。
0445デフォルトの名無しさん
NGNGバイト長を指定できたりとかはしませんか?double(=8バイト)では足りないのです。
始めたばかりで何も分からずすいません。
0446デフォルトの名無しさん
NGNGlong doubleが使えるかも。
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNG整数計算なんですが、x^255などというでかい数字を計算するもので、unsignedなどでは桁が全然足りないのでdoubleを使ったのです。
それで、無限桁数であればいいなと思ったのです。
0451デフォルトの名無しさん
NGNGxが0か1ならcharで大丈夫(ワラ
0452デフォルトの名無しさん
NGNG後は文字列にするとか、
多売長にするとか。
0453デフォルトの名無しさん
NGNGアリガトゥー。
0454デフォルトの名無しさん
NGNG(^_^;)
>452
long long と書いたら蹴られました。
多倍長のやりかたが分かりません…すいません…
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGマァヴ(^_^;)
0457デフォルトの名無しさん
NGNGC++なら多倍長クラスがあるがどうよ?
0458デフォルトの名無しさん
NGNGこのスレか前のスレにbignumについて書いてあるから、それみてみれ。
Cで使えるbignumライブラリについてのポインタがあったと思ったぞ。
0459デフォルトの名無しさん
NGNG聞いたことあります。携帯板かどこかで見たような?
>457
Cでやってます。何も知らなくてすいません。
>458
探してみます。ありがとうございます。
しばらくいろいろやってみます。ありがとうございます。
0460デフォルトの名無しさん
NGNGlong longが跳ねられる…VCか?
__int64とか。
0461デフォルトの名無しさん
NGNGそれでも全然桁が足りないらしい。
0462デフォルトの名無しさん
NGNG255乗する必要あるんだから、64bitでは全然足りんのではないか。
2^255でさえ、255bit必要だし。
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG絶対パス指定とかしてもだめっぽいんですが・・?
0469デフォルトの名無しさん
NGNG無理。
0470デフォルトの名無しさん
NGNGまさか\マークを2個重ねてないとかそういうことか?
但しDOS/Windowsの話だが。
0471デフォルトの名無しさん
NGNGやっぱ無理かね
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGファイルが無いとかじゃなく。
0476デフォルトの名無しさん
NGNG無理なモンは無理
0477デフォルトの名無しさん
NGNGんなこたーない。
0478名無しさん@カラアゲうまうま
NGNG0479デフォルトの名無しさん
NGNG確かにんなこたーない。
うちでもちゃんと動く。
絶対の話があがってるけど、相対はどうなん?
0480デフォルトの名無しさん
NGNGちなみにVCだとdebugとかreleaseとかのフォルダにexeがあるが、
VC上で動かすときはその一つ上のフォルダにexeがあるようなイメージになっているので
相対パスの指定がそんなかんじ。
0481デフォルトの名無しさん
NGNG結果が変わってきませんか?
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGいいえ、コンピュータで動きます。
たまたま標準出力がそこにあるだけ。
0484デフォルトの名無しさん
NGNGC言語は動かないです。C言語で作られた実行モジュールが動きます。
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGあたりまえだろ。そんなことをここで聞くな。
0488わからない
NGNG↓具体的に考えた例を挙げておきます。
a^3 = a^1 * a^1 * a^1
a^7 = a^3 * a^3 * a^1
a^21 = a^7 * a^7 * a^7
a^63 = a^21 * a^21 * a^21
↓模範解答ではこうなっていました。
a^1 * a^1 = a^2
a^2 * a^2 = a^4
a^4 * a^4 = a^8
a^8 * a^8 = a^16
a^16 * a^16 = a^32
a^32 * a^16 = a^48
a^48 * a^8 = a^56
a^56 * a^4 = a^60
a^60 * a^2 = a^62
a^62 * a^1 = a^63
一体僕の解答のどこがおかしいのか教えてください。
0489デフォルトの名無しさん
NGNG6回でできるよ。
a^3 = a^1 * a^1 * a^1
a^9 = a^3 * a^3
a^7 = a^3 * a^3 * a^1
a^63 = a^7 * a^9
0490デフォルトの名無しさん
NGNGa^3 = a^1 * a^1 * a^1
a^9 = a^3 * a^3 * a^3
a^7 = a^3 * a^3 * a^1
a^63 = a^7 * a^9
0491デフォルトの名無しさん
NGNGa^7 * a^9 は a^16 っす・・・
0492デフォルトの名無しさん
NGNGa^3 = a^1 * a^1 * a^1
a^6 = a^3 * a^3
a^9 = a^6 * a^3
a^7 = a^6 * a^1
a^63 = a^7 * a^9
0493デフォルトの名無しさん
NGNGガーン
0494デフォルトの名無しさん
NGNG0495わからない
NGNG宿題スレに行って来ます。
0496わからない
NGNG0497デフォルトの名無しさん
NGNGa^63 = a ^ 1 * a ^ 1 * (中略) * a ^ 1
です.↑でa ^ 1は63回出てきます.
0498デフォルトの名無しさん
NGNG62回じゃん
0499デフォルトの名無しさん
NGNGつかそれ乗算ありすぎ。
0500デフォルトの名無しさん
NGNG0501さくら
NGNG0502デフォルトの名無しさん
NGNG串打ち三年・割き八年・焼き一生
0503500
NGNG真面目に答えろ!
0504デフォルトの名無しさん
NGNG天才なら3日
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG0回で出来た。
pow(a,63);
0507デフォルトの名無しさん
NGNGrand
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG疑似乱数生成関数ならあります。
0510デフォルトの名無しさん
NGNGますが、nkfにデータを渡す際、パイプを閉じているにもかかわらず、
nkfがデータの終わりを待って、デッドロックが発生します。
どのようにすればいいんでしょう?
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG親プロセスが、ちゃんと EOF まで nkf の出力パイプを読みきってあげていますか?
0514デフォルトの名無しさん
NGNG親プロセスのwait()でひっかかっていて、nkfの出力パイプを読めるところまでいっていません。
nkfの出力パイプを試しに標準出力にしてみてみると、入力待ちをしているようです。
nkfへの出力パイプにはwriteして、最後にclose()を呼び出しています。なので、パイプは切れているはずですが、なぜに待ち続けるnkf・・・。
0515デフォルトの名無しさん
NGNGパイプは2個つかうのね・・・ドキュソぶりを発揮してしまった罠。
0516デフォルトの名無しさん
NGNGどうしてこれが置換になるのですか?
0517デフォルトの名無しさん
NGNG2番目の式でbに aとbの違い とb の違いが代入される。これはもとのa。
3番目の式でaに aとbの違い とa の違いが代入される。これはもとのb。
0519デフォルトの名無しさん
NGNGGUI処理って画像の表示とかでしょうか?
0520デフォルトの名無しさん
NGNGグラフィカルなユーザインタフェースとかでしょう。
0521デフォルトの名無しさん
NGNGゲーム作っていればむりぽなのだが
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNGどのへんが?
0525デフォルトの名無しさん
NGNGみんな覚えている?
覚えていた方がいい?
0526デフォルトの名無しさん
NGNG確か引き算に使ったような、違うかな
0527デフォルトの名無しさん
NGNGa=a+b-(b=a);
もアルネ。
>>525
引き算に使うというか。CPU内では
10 - 5 は 10 + (-5)
と処理されます。
引き算の命令なんかほんとは無いんですよ。
その正の数を負にするのが2の補数。
知ってて得したことは無し。
でもビット反転~は知っとこう。
0528デフォルトの名無しさん
NGNGでもって、2の補数は1の補数+1だ。
1の補数は全部のビットを逆にしたやつ。
0529デフォルトの名無しさん
NGNG役に立ちました
参考書以上に理解できました
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGわかってるとおもうけど、ないのは減算命令じゃなくて減算器。
なお、普通は整数演算は加算とビット演算はひとつの演算器になってる。
たまーに、負数の内部表現が2の補数であることを(無意識に)仮定して、
ワードの全ビットを1にするのに-1と書いてあるコードがあるけど、
正しくは~0(うるさくいうと~((unsigned)0))。
0532デフォルトの名無しさん
NGNG~0u
0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNGおれはこの日本語が分からん。不定形だ。
ところで型接尾子u、UはANSI規格内じゃなかった気が
するんだけど、どうなん?
0535デフォルトの名無しさん
NGNGはじめてのCから勉強し直してきなさい
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGを作るといSAMPLEがあってコンパイ
ルしてみたんですけど、.exeファイル
がコピーできません。
なぜでしょう??
テキストファイルしかCOPYできないん
です。
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNGもしかして copy のサンプルがその本ではfgets()で書いてあったのか!?
そんな本捨てろよ。
0541ロリ
NGNGとりあえずVC++6.0の環境で、
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
char value;
value = 1042*1042*1042;
printf("%d\n",value);
return 0;
}
をビルドすると警告のみで済み(エラーなし)、
実行すると「-56」と出ます。
何故???
コンパイルの時点でエラーが出ない事がそもそも不思議ちゃん。
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNGで数値を入力させるといちいちEnterキーを押さないといけませんよね。
なんとかEnterキーを押さずに数字入力したいのですが
どうすればいいのでしょうか?
0544デフォルトの名無しさん
NGNG難しいですね
1 と
12 と
120 をどうやって区別するんでしょうか
0545デフォルトの名無しさん
NGNG超能力で見分ける。
0546ロリ
NGNG0547デフォルトの名無しさん
NGNG本を読め。死ぬほどよめ。
0548デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG明らかにネタとわかるネタはやめて。
0551デフォルトの名無しさん
NGNG一桁の数字なら方法はありますか?
0552デフォルトの名無しさん
NGNG標準ライブラリでは無理(なはず)。
windowsならgetcheでできたような・・・
0553デフォルトの名無しさん
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c19.html#1
0554デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG意味わかってんの?
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNGマジレスつまらん
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG1042が、微妙に天然のヨカソ
0561デフォルトの名無しさん
NGNGワラタ
あごが外れるかとオモタよ
0562デフォルトの名無しさん
NGNG気がつかなかったよ
0563デフォルトの名無しさん
NGNG...の部分をどうしたらいいかわかりません
0564デフォルトの名無しさん
NGNGC言語を勉強中なんですけど分からないところがあります。ぜひ、教えてください。
MS VC++6.0でCのソースを開いてコンパイルして使っています。
配列を多く使うとエラーになってしまうんですがどうしてでしょうか?
char ss[1024][1024][1024]; ←これだと大丈夫。
char ss[4096][4096][4096]; ←これだとだめ。(c2133エラー)サイズが不明です。が出てしまいます。
0565デフォルトの名無しさん
NGNG0566デフォルトの名無しさん
NGNGなんのために、そのような暴挙を?
0567デフォルトの名無しさん
NGNG4096*4096*4096 = 0x1000000000
なっ
0568デフォルトの名無しさん
NGNG0569564
NGNG>char ss[1024][1024][1024]; ←これだと大丈夫。
これでは、エラーは出なかったけど実行出来ませんでした。
ータル イメージ サイズ -2147278848 が最大値 (268435456) を越えています;
0570564
NGNG出来れば char ss[16384][16384][16384]ぐらい欲しいのですが…。
無理でしょうか?
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNGCとしては正しいよ。
あと50年くらいすれば実行できるんじゃない?
0573デフォルトの名無しさん
NGNGそのタイミングでそのネタは、アレだよ…
0574デフォルトの名無しさん
NGNGそれってテラバイトいってないか?
0575デフォルトの名無しさん
NGNG0577名無しさん@カラアゲうまうま
NGNG4TBだね。流体シミュレーションでもしようってのかな。
0579デフォルトの名無しさん
NGNG0580マグマ大便
NGNG0581名無しさん@カラアゲうまうま
NGNG0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNGどうすればいいですか?逝ってよしですか?
超対称性理論を実証するのに必要なんですけど・・・・・
0584デフォルトの名無しさん
NGNGchar[100000][100000][100000][100000]
0585デフォルトの名無しさん
NGNG心配しなくても、計算が終わる頃にはそれくらい当り前にできるようになってるよ。
0587デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNGアドレス空間は64bit,longも64bitでもintが32bitだと無理かも
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNGで代用してください。
0591デフォルトの名無しさん
NGNG標準入力からの文字と数字の見分け方ってどうすればいいんですか?
ほんとにすいません。
でもとりあえず教えてくださいお願いします。
教えてもらったらキーボードのカドに頭ぶつけて二度と来ないんで、
これだけは教えてください。
0592デフォルトの名無しさん
NGNGなぜそんなに謝るんだね?
ん?何をしたんだい?言ってみなさい。
大丈夫、秘密は絶対誰にもしゃべらないから。
0593デフォルトの名無しさん
NGNGint main()
main()
などがありますが、どれを使ったほうがいのですか?
0594デフォルトの名無しさん
NGNGvoid main(void)
が正解です。
0595デフォルトの名無しさん
NGNGそれは環境による。大概のOSは int main(void) が正解。
0596デフォルトの名無しさん
NGNG標準入力から流れてくるのは文字列だけ?
そうなのだったら、ctype.hの各関数(マクロ)を調べるとよい。
0597デフォルトの名無しさん
NGNG規格上はint main()が正解。int main(void)は同じ。プロトタイプだと話は変わってくるけど。
0598デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGつか規格上は、mainはintを返さないとまずい。
まずいというか、intを返さなければならない。
0601591
NGNG標準入力からは、文字列のみ、または数字のみです。
文字列と数字が混ざることはありません。
この場合、どんな関数で受け取るのが都合がいいのかも
あわせて教えてもらえるととてもありがたいです。
0602デフォルトの名無しさん
NGNGisdigit()
0603593
NGNGとりあえず、
int main()
int main(void)
のどちらかをつかっておけば、無難ということでOKですか?
0604デフォルトの名無しさん
NGNGうん。あとは、
int main(int argc, char **argv)
も使う。とにかくmainはintを返しとけ。
0605591
NGNGそれだ!!
ありがとうございます。
ではお約束通りキーボードのカドに頭ぶつけて逝ってきます。
0606名無しさん@カラアゲうまうま
NGNGお前の定義じゃ数字は文字列に含まれないのか小一時間
0607デフォルトの名無しさん
NGNG議論する抽象化の度合いが違うんでは?
0608デフォルトの名無しさん
NGNGcrypt()を用いてDESハッシュはできたのですが、暗号文が短いのでちょっと不安。
そこでmd5ダイジェストを実装しようとしたのですが、コンパイルが上手く行きません。
現在Vine Linux環境で、コマンドラインの指定が間違ってると思うのですがアドバイスをお願いします。
エラーメッセージは↓(次に続く)
0609608
NGNG$gcc -o main.c md5_crypt.o
/usr/lib/crt1.o: In function `_start':
/usr/lib/crt1.o(.text+0x18): undefined reference to `main'
md5_crypt.o: In function `md5_crypt':
md5_crypt.o(.text+0x45): undefined reference to `MD5Init'
md5_crypt.o(.text+0x64): undefined reference to `MD5Update'
md5_crypt.o(.text+0x83): undefined reference to `MD5Update'
md5_crypt.o(.text+0x93): undefined reference to `MD5Final'
collect2: ld returned 1 exit status
0610608
NGNG$gcc -o md5 main.c md5_crypt.o
0611名無しさん@カラアゲうまうま
NGNGそのmain.cとmd5_crypt.oはどっから持って来たもの?
> $gcc -o main.c md5_crypt.o
もしかして、本当にこうやってmain.cを壊したとか。
0612608
NGNGmain.cは関数を呼ぶだけでmd5_crypt.c、md5_crypt.hはmd5暗号化処理を行う関数の実体を記述してます。
で、MD5Init、MD5Update…とかはjman md5で調べたら<openssl/md5.h>を
インクルードして使うらしいので全部ライブラリを流用しました。
なんか、これらmd5関連の関数の実体をリンカで結べばいい気がするのですが、どこにある何をもってこればいいのかワカリマセン
0613名無しさん@カラアゲうまうま
NGNG0614608
NGNG試してみたけど先程と同じエラーがでます。うーむ
$gcc -o md5 -lcrypto main.c md5_crypt.o
md5_crypt.o: In function `md5_crypt':
md5_crypt.o(.text+0x45): undefined reference to `MD5Init'
md5_crypt.o(.text+0x64): undefined reference to `MD5Update'
md5_crypt.o(.text+0x83): undefined reference to `MD5Update'
md5_crypt.o(.text+0x93): undefined reference to `MD5Final'
collect2: ld returned 1 exit status
0615名無しさん@カラアゲうまうま
NGNG$ gcc -o md5 main.c md5_crypt.o -lcrypto
-lオプションは順序を考えないと。
0616608
NGNGうおお、謎ッ!
0617名無しさん@カラアゲうまうま
NGNGでlibcrypto.soを確認して、
$ rpm -qf /path/to/libcrypto.so
とか
$ nm /path/to/libcrypto.so | grep MD5
ってやったらなんか出て来る?
(/path/to/libcrypto.soはgccで表示されたファイル名)
0618デフォルトの名無しさん
NGNG手元のマニュアル見ると、
MD5_Init
みたいにアンダーラインが入ってるようだけど?
gcc に -Wallオプションつけて未宣言関数を呼び出そうとしてないかチェックしてみたら?
0619名無しさん@カラアゲうまうま
NGNG> みたいにアンダーラインが入ってるようだけど?
あ、気づかなかった…。伐つ出汁。
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGC言語なら
0622620
NGNG即レスしていただきありがとうございます。
でも聞く前にもうちょっとがんばってみようと思いますので。
どうしようもなくなった時はまたお願いします。
まあただ単に、配列に関数どかどかならべて順番に実行したいだけなんですが。
0623デフォルトの名無しさん
NGNGif文で比較するような、泥臭い方法しか思い付きませんでした... (TT)
0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNGオーバーフローは大丈夫か?
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNGその部分がボトルネックになることが分かってから考えたら?
0630デフォルトの名無しさん
NGNGスマートな方法が思い付かないんじゃなくって、そんな方法は無いのかな。
>>624
int型のサイズを決め打つような方法は採りたくないんですよ。
最上位ビットのマスクを求めるようなコードを書くのなら、if文の方がマシなような...
>>625
おぉ、プラスになれば符号は同じ、マイナスになれば符号が違ったって事ですね。
思い付かなんだ... (恥)
>> 627
オーバーフローしても、符号自体は保持される筈ですね。
今はif文で書いてあるんですけど、ちょっとテストしてから書き直してみます。
ありがとうでした。
0631デフォルトの名無しさん
NGNG確かにボトルネックになる部分ではありますが、それよりは「このコード格好悪いなぁ」という方が問題かも... (w
if( is) {
a = 1;
} else {
a = 2;
}
と書くよりは
a = is ? 1 : 2;
って書きたいですよね? 漏れだけかな...
>>628
ご指摘の通りです、書くときに考慮します。
0632デフォルトの名無しさん
NGNG0x80000000 * -1 = 0x80000000
じゃなかったっけか
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNGこの程度なら、まともなコンパイラならちゃんと最適化してくれるから、
自分でアセンブラ書くのはやめといたほうがいいかと。
0636デフォルトの名無しさん
NGNG{
return ((a & (1<<(CHAR_BIT*sizeof(int)-1))) ^ (b & (1<<(CHAR_BIT*sizeof(int)-1)))) != 0;
}
int g(int a, int b)
{
return ((unsigned)a >> (CHAR_BIT*sizeof(int)-1)) ^ ((unsigned)b >> (CHAR_BIT*sizeof(int)-1));
}
int h(int a, int b)
{
return (a < 0) != (b < 0);
}
クリティカルな部分に使うなら、gを使ってhの内容をコメントに書いておく
0637デフォルトの名無しさん
NGNGreturn (a^b)>>(CHAR_BIT*sizeof(int)-1);
の方が良くない?
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG無理にif文を使わないようにする方が格好悪い。
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNGあと、(a^b)をunsignedにキャストしないと、
結果がうまく0or1にならないかもしれないね(処理系依存)。
0と比較するなら構わないけど。
個人的には、普通に(無理に)ifや?:を使うより、
(a < 0) != (b < 0)
の方がよっぽど見やすいと思う。
0643デフォルトの名無しさん
NGNGコメントは書いておいた方がいいと思う。
あと、関数じゃなくてマクロにするといいかも。
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGgcc -O2 -S でコンパイルしてみたが一緒。そっちの方が分かりやすくて良いかも
>>645
同じくコンパイルしてみたが一緒だった
0647デフォルトの名無しさん
NGNG素直なコンパイラだと分岐命令に展開される
>>645
signedだろうがunsignedだろうが、実装依存
0650デフォルトの名無しさん
NGNG面白かったけど。
0651デフォルトの名無しさん
NGNG(a < 0) != (b < 0) のどこが依存しているの?
0652デフォルトの名無しさん
NGNGなにが?
0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNGunsignedおよびsignedで正であるときにのみ
a<<b⇔a*2^b
a>>b⇔a/2^b
であることが決まっている。(ただしbはaのビットサイズ未満かつ0以上)
その他は未定義や実装依存
0655デフォルトの名無しさん
NGNG整数をqsort()でソーティングするときに渡す比較関数は、
みなさんはどのように実装してます?
とりあえず、
int compar(int *a, int *b) {
return *a-*b;
}
は良くないということなので、私はif分岐でしてるんですが、
何か良い方法ありますか?
0656デフォルトの名無しさん
NGNG0657608
NGNGアンダーバーを書いて(↓)でうまくいきました。
カラアゲうまうまさん、名無しさんありがとうございました!
$gcc -o md5 main.c md5_crypt.o -lcrypto
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGてか、使い道あるのですか?
0662デフォルトの名無しさん
NGNGオーバーフローの可能性があるなら
return -(*a < *b) + (*b > *a);
にでもしといたら
0663659
NGNG>>661
struct{
union{
struct{
...
} C;
struct{
...
} D;
} B;
} A;
のような構造体を定義した場合、
A.B.C, A.B.Dというように毎回Bを指定するのは冗長です。
無名共用体使ってA.C, A.Dと書けば多少すっきりするので
たまに使います。
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNGunion {
struct{... } C;
struct{... } D;
} A;
じゃだめなのかな?
0666デフォルトの名無しさん
NGNGgrep 'define.*addr.*\.' /usr/include/netinet/*
0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG多分、できないと思われ
0669デフォルトの名無しさん
NGNG既にあったりして
0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG英字と数字と_のみ。先頭は数字であってはならない。
0673デフォルトの名無しさん
NGNGデバッグできねーじゃん。
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNGご、ごめんなさい
0677デフォルトの名無しさん
NGNG0678676
NGNGお試しください。失礼いたしました。
つーか、デバッガが使えないだろ。
0680uk
NGNG<body>\n<h1>うんこ画像</h1>\n<br>\n<img src="http://www.unko.com/img/unko.jpg">\n</body>\n
</html>") ;
当方VC++6.0
こんな感じでstrにhtml記述をぶち込みたいのですが、やり方が激しく分かりませんです
まず <img src="unko.jpg"> のダブルクォートでsprintf(str,"…"unko.jpg"…")
となってしまうのは問題なのでしょうか
さらに http://www.unko.com/… の//以降がコメント扱いされるくさいので、
\\\ に変えてみたところ、「不要な箇所に、エスケ-プシ-ケンスが付いています。」とVCに吐き捨てられますた。
どなたか解説おながいします(;´Д`)
0681デフォルトの名無しさん
NGNGそうすれば // があっても無問題。
src=" の部分で文字列が終わってしまうのね。
で、// で C++ 式のコメントが始まってしまうというわけ。
0682uk
NGNG即レスあがとうございます
ものごっつ普通に実行出来ますた(;´∀`)
心の底からありがとうございます
0683名無しさん@カラアゲうまうま
NGNGどっちかというと、これが気になる。
> まあ、水谷カスタムとはいっても、flex win32用実行バイナリ内の
> 文字列リテラル( 多分 .simpleファイルか何かに相当 ) を
> 直接 ほんの十数バイト書き換えただけなので、簡単な
> わずかの修正で対応できると思います。
0684名無し
NGNGメモリ関数と構造体を使用して、簡易データベースを作りたいのですが
構造体にメモリを割り当てるにはどうすればいいんですか?
構造体宣言を
struct main_deta{
int deta_id;//データID
char deta_name;//データネーム
int deta_value;//データヴァリュー(数値)
}*p;//確保したメモリのアドレス。データの格納先
このように書いて
p = calloc(w, sizeof(struct main_deta));
printf("データIDを入力してください。 :");
scanf("%d",&p[i].deta_id);
printf("データネームを入力してください。 :");
scanf("%s",&p[i].deta_name);
printf("データヴァリューを入力してください。:");
scanf("%d",&p[i].deta_value);
この形で入力して表示させようとすると
「"0x0040832c"の命令が"0x00000031"のメモリを参照しました。
メモリが"rezd"になることはできませんでした」と、でてきます。
このエラーは何なんですか?
よろしくお願いします。
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG0687677
NGNGワラタ 本当に作者だったのか。
0688デフォルトの名無しさん
NGNGchar data_nameはchar data_name[n]の間違いか?
0690デフォルトの名無しさん
NGNG%sが間違っている意味ではない。
deta_nameに&をつけているし、charに名前を入れる気なんだろうなぁ
と思って。
0691first time
NGNG0692デフォルトの名無しさん
NGNG独り言はhttp://cocoa.2ch.net/qa/でどうぞ。
0693デフォルトの名無しさん
NGNGそうでしたか。
0694デフォルトの名無しさん
NGNG0695timer
NGNGでタイマー(割り込み)を500ms以下にしたいんですができますか?
500msはできました。
0696デフォルトの名無しさん
NGNGdefineみたいなやつありませんでしたか?
0698名無しさん@カラアゲうまうま
NGNG#define s struct long_long_long_name_struct
typedef struct long_long_long_name_struct s;
0699デフォルトの名無しさん
NGNGコピペ汁。
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG初心者板で答えただろ・・・
0702真性包茎
NGNGそろそろwindowsアプリにも挑戦しようかなって思ったんだけど
コンパイルがうまくいきません
ソースが間違ってるのかな?…↓
#include <windows.h>
int WINAPI WinMain(HINSTANCE Inst, HINSTANCE Prev,
LPSTR Cmd, int Show)
{
int hoge;
hoge = MessageBox(NULL,
(LPCSTR)"逝ってよし?",
(LPCSTR)"2ch",
MB_YESNO);
if(hoge = IDYES){
system("rundll user.exe,exitwindows");
}
return 0;
}
誰かうまく逝った方教えてください
0703デフォルトの名無しさん
NGNGなにがしたい?
0705デフォルトの名無しさん
NGNG実行しちまったがな
GUIプログラムとしてコンパイルしないと
(WinMainを呼ぶライブラリをリンクしないと)
だめだよ。それから
#include <stdlib.h>
とif(hoge = IDYES)は
==の間違い
0706真性包茎
NGNGでも僕包茎なので
リンクって何か分かりません
どうやってやるんですか?
module2つ以上作ったことありません
0707デフォルトの名無しさん
NGNG例えばborland c++ならば
bcc32 -tW hoge.c
とか
0709デフォルトの名無しさん
NGNGなんか見ていていやだ。
#俺が、って突っ込みはなしの方向で(ちがうけどw
0710684
NGNG遅レスすいません。
何とか解決しました。
0712デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1023361418/l50
0715仮性包茎
NGNGヽ(`Д´)ノ ウワァァァン
0716デフォルトの名無しさん
NGNG猫でもわかるプログラミング
ttp://www.kumei.ne.jp/c_lang/index_sdk.html
0718デフォルトの名無しさん
NGNG動いていなかったけど、windowsでは複数動作することがあるので、
メッセージドリブンというか、メッセージと呼ばれる要求をいったん
蓄えておいてそれを取り出して処理を行わなくてはならない。
最後のreturnの前のwhileやGetMessageは、そのメッセージをとりだして
Dispatchで処理するルーチンに送る。
0719仮性包茎
NGNGありがとう
http://vitaltrack.hoops.ne.jp/midi/dqlvup.mid
702は皮が1mmむけた
0720デフォルトの名無しさん
NGNGこんな感じ?
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPSTR s,int nShow)
{
int rc = MessageBox(NULL,
TEXT("逝ってよし?"),TEXT("(* ゚Д゚)"),MB_ICONQUESTION | MB_YESNO);
if(rc==IDYES){
// 以下 NT,2000の処理
TOKEN_PRIVILEGES tp;
HANDLE hToken;
// アクセストークンを開き、遮断特権のLUIDを得る
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken)
&& LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tp.Privileges[0].Luid)){
// 遮断特権を使用可能にする
tp.PrivilegeCount=1;
tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tp,NULL,NULL,NULL);
}
// ここまで NT,2000
// 遮断 user.exeを使わず、自力で逝く
if(! ExitWindowsEx(EWX_SHUTDOWN | EWX_POWEROFF,0)){
MessageBox(NULL,TEXT("逝けませんでした"),NULL,MB_OK);
}
}
return 0;
}
0721デフォルトの名無しさん
NGNGgcc で作ったオブジェクトファイルと、
g++で作ったオブジェクトファイルはリンクできませんか?
よろしくお願いいたします。
たとえば、
gcc -c aaa.c
g++ bbb.cpp aaa.o
とかできませんか?
0722デフォルトの名無しさん
NGNGやってみたらいいじゃん。
0723デフォルトの名無しさん
NGNGていうか、やってみたらいい
0724721
NGNGaaa.oを見てくれません・・・
0725デフォルトの名無しさん
NGNG0726721
NGNGありがとうございます。
なるほどー
やってみますね。
gcc でちょっとしたwarningで済んだものが
g++では厳しくなってますから・・
Cで書いた関数をC++で使いたいってときは、
いい方法があるのでしょうか・・・
0727デフォルトの名無しさん
NGNGエラーメッセージ等を張りたまい。
extern "C"
0729721
NGNGおぉ、ありがとうございます。
extern "C" 調べたら載ってましたー。
調査が足りませんでした・・・
0730デフォルトの名無しさん
NGNGある時刻(例:2001年10月03日06時10分10秒を入力)までの
経過時間を、○年○月○日○時○分○秒の形式で出力する
プログラムを作りたいんですけど、どうしたらいいでしょうか?
お願いします。
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGmktimeで秒にしてから差を取ってlocaltimeで・・・・・
という方法ではうまくゆかないな(鬱
0733730
NGNG0734デフォルトの名無しさん
NGNGなんでsage?
0736デフォルトの名無しさん
NGNGだめだってば。
0738デフォルトの名無しさん
NGNGさぁ・・・
意地悪じゃないよ。
0739デフォルトの名無しさん
NGNG使い方がよく解らないのですが…教えていただけませんか?
0740デフォルトの名無しさん
NGNGヘルプ見ろ
0741デフォルトの名無しさん
NGNGふつーに差を60で割って、60で割って、・・・とやればいいのでは?
0742デフォルトの名無しさん
NGNGそれぐらい本を買って来い。>>1のK&R買っとけ。
0743730
NGNG0744デフォルトの名無しさん
NGNGいくら出す?
0745デフォルトの名無しさん
NGNGうるう年とか2月は28日までとかをいれると面倒だな。
mktimeの値の差分に2000年1月1日のmktimeの値を
足して、localtimeに放り込めばできるだろ。
年からのみ2000を引いておけ。
0746デフォルトの名無しさん
NGNG標準関数は
http://www.linux.or.jp/JM/
のセクション3より検索。
0747739
NGNGヘルプ…持ってないです。
BCCを使ってるので…以下無いとダメですか?
0748747
NGNGありがとうございます!
こんなページがあったんですね。
0749デフォルトの名無しさん
NGNG一ヶ月30日方式で計算するんと違うん?
0750デフォルトの名無しさん
NGNGうむ、そう思った。
時刻の差のうるう年とか大の月小の月っていったい何なんだよと不思議な気分(w
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNG自分(EXE)の場所とかの。
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG12ヶ月->1年に繰り上がらないならいいのでわ?
1年は365.24日で、31556736秒として、そのあまりを
30で割って、ヶ月にする。そのあまりを、、、と続ければ。
>752
そういうのは環境変数っていうのか?
0755デフォルトの名無しさん
NGNG日単位でいえば等間隔ではない
このあたりを定義してくれ
と皆は言っている
0756名無しさん@カラアゲうまうま
NGNG2001/09/10-2001/05/10で4ヶ月
2001/10/02-2001/09/10で22日
翌06:10:10-14:02:45で16時間7分25秒
ってことじゃないか?
0757デフォルトの名無しさん
NGNGとかいう記述はあるけど
「地球衝突まで後3年4ヶ月と20日!」
とかいうのはあまり聞かないな、実際・・・。
>>754
それやると、1日が23時間58秒、とかにならない?
実のところ正しいやり方はないのでわ?
0758デフォルトの名無しさん
NGNG2002/2/28 〜 2005/1/1 までは?
0759デフォルトの名無しさん
NGNGextern int hogehoge( void );
extern int hogehoge( void )
{
return( 0 );
}
ってコードって、どう解釈されるの?
externで外部参照宣言しておいて、自分の中にexternで関数を書くのって
C言語的には普通に問題なく解釈されるものなの?
もう会社から消えた先輩のソースを見て、疑問でまくりの1つです。
0760デフォルトの名無しさん
NGNG大馬鹿者のコード。かもしくはソースファイルがひとつだけのプログラム。
0761デフォルトの名無しさん
NGNG自分自身のファイル名やコンパイルした日時を表す定義済みマクロならあるけど。
0762デフォルトの名無しさん
NGNGvoid main()
{
char c;
/*c=getchar();*/ ←これを入れると
ms();
}
void ms()
{
char ss[10];
gets(ss); ←文字列入力が出来ません。
printf(ss);
printf("なんで出来ないんだよ〜"); ←これは表示されます。
}
この場合、どうすれば文字列入力飛ばされずにすむでしょうか?
0763デフォルトの名無しさん
NGNGgetcharで一文字取り出したあとに改行コードがバッファに残るから、getsでそれを呼んでしまい、getsで入力待ちにならない。
getsなんて使うな。printf(ss)はやめろ。printf("%s",ss)にしろ。
0764763
NGNG0765759
NGNGどうも。
あるドライバの複数のソースファイルの1つです。
ドライバなので、おそらくドライバ起動時に外部から呼び出されているはずなんですが・・・
以前作られたドライバを組み込もうとしたら起動しないので、原因調べてくれっていわれて
既に存在しない先輩のソースを見てたんですけど、今までこんな記述見たことないので
おかしいな、と思ったんですよ。
結果として、ライブラリの関数でこういう記述をしておいて、外部からちゃんと呼び出せるんでしょうかね?
0766デフォルトの名無しさん
NGNG「猫でも」の「SDK1」を見に行ってコンパイルしてみているのですが、
うまくいきません。
何かbcc32にひきすうを渡さないとだめですか?
もうひとつ。
bcc32ではC++はコンパイルできませんか?
0767デフォルトの名無しさん
NGNG○getsがそれを読んでしまい
0768デフォルトの名無しさん
NGNGbcc32は元々C++用コンパイラ。
それとここではスレ違い。
0769デフォルトの名無しさん
NGNG非道いな。
0771デフォルトの名無しさん
NGNG何故うまくいかないのかわかったら超能力者だ。
どんなエラーになるかぐらいかけや。
0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNG逆に、関数内でローカルに宣言することもできるけどね
int main()
{
char buff[100];
int strcpy(char *p, const char *dst);
int a = strcpy(buff, "abc");
}
とかの矛盾した宣言でも
0774759
NGNGそのhogehogeという関数が呼び出せないか呼び出し時にエラーが起きる、という話でした。
ドライバ起動時の初期化関数なんすよね。
>>770
そうなの? ありがとー。
でも、思いっきりソースファイルに書いている。
そのソース(init.c)内の関数は、このexternか
static int ahya(void);
static int ahya(void)
{
/*処理*/
return( -1 ) ;
}
みたいなのばっかり。
0775デフォルトの名無しさん
NGNGK&Rのサンプルに局所的なプロトタイプ宣言があったよ。
思った通りその関数の中でしか通用しないね。
0776デフォルトの名無しさん
NGNGstaticならプロトタイプはヘッダーファイルに書いてはならないけど、
他のファイルから参照するexternな関数ならプロトタイプはヘッダーファイルに書くべき。
いちいち書いても間違いじゃないけどね。
それと、変数宣言時につけるexternとはちょっと意味が違うよ。
0777776
NGNG0778デフォルトの名無しさん
NGNG後半部分は特にすれ違いだった。スマソ。
で、前半部分は、Cで書いたのでそれをやろうとしているのですが、
すれ違い?
0779デフォルトの名無しさん
NGNG特定のコンパイラの使い方についての質問は一応スレ違いということになっているみたいだけど、いいんじゃネーノ?
俺は分からないけど。。。。
0780デフォルトの名無しさん
NGNGエラーメッセージを貼った方がいいよ。
リンクエラーな気がする。
0781デフォルトの名無しさん
NGNG奴の言いぐさはそれはC++のコンパイラだから駄目って話では?
0782759=774
NGNGexternの書き方はわかってるつもりです。
気にしてんのは、extern切ってる関数が自分自身にあり、
その宣言部分にexternが付いていることなんですが・・・
・外部参照宣言している関数が自分自身にあり、他のソースにはない
・extern int hoge(void) という書式から始まる関数の宣言は可能なのか
ということでした。
>>773さんの言うとおりなら、可能ではあるようですが、なんか普通と違うような。。
0783デフォルトの名無しさん
NGNGgethostname()を使わないでIP取得するにはどーすれば良いんだ。
てゆーか、教えてください。
スレ違いならスマソ。
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNG関数の場合はいいんだってば。
ちなみにデフォルトでexternだから、int hoge(void)とextern hoge(void)は同じだよ。
0786デフォルトの名無しさん
NGNGやつって>>768のこと?
>>766から読み直したら?
0787デフォルトの名無しさん
NGNGDNSにでも聞け。
0788デフォルトの名無しさん
NGNGOS依存になると思うのだが。
0789デフォルトの名無しさん
NGNGすごい言いぐさだが的を射ている。
0790デフォルトの名無しさん
NGNG(・∀・)オトコラシイ!
0791788
NGNGgethost*by*name() と
混同しているのでわ……
0792名無し783
NGNGそのとーりデス。スマソ
>>788
OS依存??
gethostname()が使えない環境なので・・・
VC++暦2週間なので、もう少し簡単におながいします。
0793デフォルトの名無しさん
NGNG0795788
NGNGgethostname()はWinsockに有りますが何か。
>The gethostname function retrieves
>the standard host name for the local computer.
0796783
NGNGえーと説明不足でした。
win98以降では、gethostname()で自機のIPを取得できるのですが、
win95でgethostname()を使うと、”プログラム開始エラー”で起動出来ないのです。
ので、gethostname以外で、取得方法がないモノかと・・・
0797デフォルトの名無しさん
NGNGそれって単にWINSOCK.DLLが入っていないだけでは?
0798デフォルトの名無しさん
NGNGWindowsNT Yes
Win95 Yes
Win32s Yes
Import Library ws2_32.lib
となってるんで、多分Winsock2が入ってないんだね
解決法は知らん
0799デフォルトの名無しさん
NGNG0800783
NGNGいえ、バージョン違いで・・・。
>>798
依頼者が、「winsock2をUpしたくない。」と。
>>799
逝って来ます。
みなさま、ありがとうございました。
ネットワークに逝って来ます。
0801デフォルトの名無しさん
NGNGこれを改良したものを作りたいのですが、
strtokのソースってどこにあるんでしょうか
0802デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNGって言うかスタティック変数使う関数なんぞ使うなよ・・・。
0806デフォルトの名無しさん
NGNGstrtokよりもperlのsplitを流用した方良いかも。
0807デフォルトの名無しさん
NGNGC で文字列の値渡しってできるの?
int
testfunc(char args[2][10]){
return 0;
}
int
main(){
char s[2][10] = {"string1", "string2"};
int retval;
retval = testfunc(ここがわからない);
return 0;
}
ここでsをtestfuncに値渡しすることは可能?
「するな」とか言わないで。
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNGするな云々の前に、できない。
0810デフォルトの名無しさん
NGNG> C で文字列の値渡しってできるの?
Cでは配列の値渡しを行うことはできません。
よって、文字配列である文字列の値渡しは不可能です。
ただし、構造体の値渡しは可能なので
文字配列だけをメンバにもつ構造体を定義し、
それを値渡しすることは可能です。
0812デフォルトの名無しさん
NGNGtypedef struct {
char s[2][10];
} Test;
int testfunc( Test a ) {
return 0;
}
int main() {
Test a;
strcpy( a.s[0], "string1" );
strcpy( a.s[1], "string2" );
testfunc( a );
}
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNG0815807
NGNG普通に書くときはそうやるんだけど
試しにtestfunc(char args[2][10])を書いて
コンパイルしたら通ったから
呼び出す方法があるのかな?と思ったの。
0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNGそれはchar (*args)[10]と同じ。
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNGじゃあほとんどの言語はろくなもんじゃなくなるじゃん。
0823デフォルトの名無しさん
NGNGああそうだ。
C以外は糞だ。アヒャヒャヒャヒャヒャヒャ
0824デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNGCプログラマってみんなこんなやつ?キモッ
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG0832807
NGNGchar s[2][10] = {"string1", "string2"};
retval = testfunc(s);
を受けるようなtestfunc()ってどう定義するん?
0833デフォルトの名無しさん
NGNGgethostnameはws2_32.dllにもwsock32.dllにもあるみたいだから
wsock32.dllのgethostnameを呼べばwin95でも動くかも(もちろん未確認)
0834デフォルトの名無しさん
NGNGvoid testfunc(char (*_807)[10])だっていってんだろうが。
0835デフォルトの名無しさん
NGNGtestfunc(char (*p)[10])
testfunc(char s[][10])
testfunc(char s[2][10]) /* 2はコンパイラに無視される */
どれでも可です
0836デフォルトの名無しさん
NGNG>>830で分かるでしょ?
0837デフォルトの名無しさん
NGNGの時、sの「型」が何なのか、よく考えればわかると思うけど。
0838807
NGNGint
testfunc(char (*args)[10]){
printf("%s:%s",*args, *(args + 1));
return 0;
}
してみたらちゃんと表示されてた。
なんか頭の中だと(*args)が10個並んでるイメージだったから。
元のイメージではchar [10]が2個並んでるイメージで。
すまんな。
0839デフォルトの名無しさん
NGNGint testfunc(char **p)
0840デフォルトの名無しさん
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c6.html
>>1からリンクされてるだろ。
0841デフォルトの名無しさん
NGNG>>840
0842762
NGNGありがとうございます。
>>getcharで一文字取り出したあとに改行コードがバッファに残るから、
>>getsでそれを呼んでしまい、getsで入力待ちにならない。
c=getchar();
printf("%c",c);
gets(ss); ←ボツ
printf("%s",ss);
両方使いたいんですけど残った改行コードをクリアする方法を
どうかみなさん教えてください。m(_;)m
0843デフォルトの名無しさん
NGNG> なんか頭の中だと(*args)が10個並んでるイメージだったから。
それはchar *args[10]
0844デフォルトの名無しさん
NGNGint c;
while((c=getchar())!='\n')
;
0845デフォルトの名無しさん
NGNGc=getchar();
printf("%c",c);
gets(ss);
gets(ss);
printf("%s",ss);
0846デフォルトの名無しさん
NGNGint c;
while((c=getchar())!='\n'&&c!=EOF)
;
の方がいいか。
0847762
NGNGわーい。
ありがとうございました。
おかげで文字列入力出来るようになりました。
0848844
NGNG0850デフォルトの名無しさん
NGNG関数を自作しまくり。
関数のリファレンスって、何かいいやつないかな。
0851デフォルトの名無しさん
NGNGman
0852デフォルトの名無しさん
NGNGmanて何だよ。man womanかよ。
0853デフォルトの名無しさん
NGNGって入力してみろ
0854デフォルトの名無しさん
NGNG相手がUNIX使いとは限らないぞ。
http://www.linux.or.jp/JM/
0855デフォルトの名無しさん
NGNGman 3 printf
0856デフォルトの名無しさん
NGNGだな。セクション1にもprintfがある。
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNGwww.holomorphy.com/~wli/doc/ANSI+ISO+IEC+9899-1999.pdf
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNGfor フォー
strcpy エスティーアールコピー
malloc エムアーロック
hoge ほげ
0862デフォルトの名無しさん
NGNG無駄な一行レスが続くのでこちらへどうぞ
http://pc3.2ch.net/test/read.cgi/tech/1014987555/
http://pc3.2ch.net/test/read.cgi/tech/1005578173/
0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNG0865ここは素敵なインターネット
NGNG#include <stdio.h>
char* hello(void)
{
return "hello";
}
char* (*f1)(void) = **hello;
char* (*f2)(void) = *hello;
char* (*f3)(void) = hello;
char* (*f4)(void) = &hello;
/*
char* (*f5)(void) = &&hello; これはエラー
*/
int main(void)
{
printf("%s\n", f1());
printf("%s\n", f2());
printf("%s\n", f3());
printf("%s\n", f4());
return 0;
}
0866デフォルトの名無しさん
NGNG環境は?
0867デフォルトの名無しさん
NGNG2つ疑問がある。
stdio.hをincludeしているのはなぜか?
helloの戻り値の型と、実際の戻り値で型が違うのはなぜか?
0868ここは素敵なインターネット
NGNGエラーにならないのだよ。どの環境でも。
>>867
>stdio.hをincludeしているのはなぜか?
printfを使うために必要ね。常識。
>helloの戻り値の型と、実際の戻り値で型が違うのはなぜか?
うーむ。もっと勉強しなさい。
0869デフォルトの名無しさん
NGNG&hello==hello (Cの関数ラベルに対する仕様)
hello==*&hello (当然)
よって
hello==*(&hello)==*hello
*hello==*(hello)==*(*hello)==**hello
同様にして
&hello==hello==*hello==**hello==***hello==****hello==(以下略
0870デフォルトの名無しさん
NGNGhello==&hello==&(&hello)とはならないの?
0871デフォルトの名無しさん
NGNG(前者はLバリューで後者はRバリュー)
だから&helloのhelloについてhelloから&helloへの置き換えは出来ない。
0872デフォルトの名無しさん
NGNGだから void (*pf)(void);
なんて関数へのポインタがあった時、
pf();でも(*pf)();でも(**pf)();でも(**********************pf)();でも
同じ関数を呼べちゃうんだよね(w
エキスパートCだっけか、あの本に出てて笑っちゃったよ。
0873866
NGNG0874名無しさん@カラアゲうまうま
NGNGでないと古い形式で書かれたソースが通らない。
0875ms
NGNGC言語のプログラムのWARNING除去を行っております。
環境はGNUです。
ほとんどが、コメントアウトなのですが、
他のWARNINGの対処法がいまいち読み取れません。
参考になるサイト、本などはございますでしょうか?
0876デフォルトの名無しさん
NGNG機能を果たさなくなるんじゃない?
0877デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNG0879ms
NGNG"suggest parentheses around + or -in operand of &"
*(byPtr1 + 4 + 15) |= ((((BYTE)(U_HANDLE & 0x0f)) << 4) & 0xf0)
0880デフォルトの名無しさん
NGNG#include <stdio.h>
main(int argc, char** argv)
{
freopen(argv[1], "r", stdin);
while ( putchar( getchar() ) != EOF);
}
0881名無しさん@カラアゲうまうま
NGNG> *(byPtr1 + 4 + 15) |= ((((BYTE)(U_HANDLE & 0x0f)) << 4) & 0xf0)
*(byPtr1 + 4 + 15) |= ((((BYTE)((U_HANDLE) & 0x0f)) << 4) & 0xf0)
これでも消えるとは思うが、
おそらくマクロと思しきU_HANDLEを()で括った方がいいと思われ。
つーか加算式そのまんまマクロにするようなヴォケは逝ってよし。
0882デフォルトの名無しさん
NGNGコメントアウトしてるって何を?
0883ms
NGNGもうひとつ!
"array 'name' assumed to have one element"
0884名無しさん@カラアゲうまうま
NGNG0885ms
NGNGこれなんです。
ところで>881さん
どういうワーニングメッセージなんですか?
直訳とは違うような・・・。
みなさんすみません。
0886デフォルトの名無しさん
NGNGfor(i1=0 ; i1<50 ; i1++)
{
printf("<%d>", data[i1]);
}
で、data[0]からdata[49]全体の値(つまり50個の値)とある一つの値とを
比較する方法ってありませんか?
よろしくお願いします。
0887デフォルトの名無しさん
NGNG{
if (data[i1]==比較したい値や変数) {
break;
}
}
if (i1==50) {
全部一致;
}
どこかが不一致;
0888881ではないが
NGNGどーゆーって、つまりだな。
600+5&0x0f という式があるとするわな。
これは演算子の優先順位からいって(600+5)&x0f
なんだが、ひょっとすると、優先順位を間違えてて、
ホントは600+(5&0x0f)とやりたかったのかもしれない。
だから、紛らわしい式には()を付けて明らかにしろよ、
ちゅうことなわけよ。
0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNGある値を50個の配列リストに入ってるかどうかです。
だから、1つずつ比較するのではなくてってことです。
誤解をまねいて申し訳ありません。
そんな方法ありますかね?
0891デフォルトの名無しさん
NGNG>>890それは単なる探索の問題じゃないか。
一つずつ比較して、一致があった時点で終了すればいい。
0892ms
NGNG修正したファイルだけをコンパイルかけているのですが、
DOSプロンプトにエラーがいっぱい表示されてしまいます。
1画面ずつ表示したい場合、どのような手順を
とればよろしいのですか?
0893デフォルトの名無しさん
NGNGリダイレクト
0894デフォルトの名無しさん
NGNGそりゃお前んとこだけだよ。BASIC って言うなら話はわかるが...。
0895デフォルトの名無しさん
NGNGお前は小学生か
0896デフォルトの名無しさん
NGNGif(data[x][y]!=41 && data[x][y]!=42 && data[x][y]!=51 && data[x][y]!=52 && data[x][y]!=6)
0897デフォルトの名無しさん
NGNG他の変数にdata[x][y]を代入しておいてそれと比較する。
0898デフォルトの名無しさん
NGNG余計な括弧を付けると、演算子の優先順位をしっかり覚えていない証拠だとか言われて、
括弧を省くように言われていたんだが。10年近く前の話だけどね。
0899デフォルトの名無しさん
NGNGなんか、もうだめぼな会社/先輩としか思えない。
いずれにしろ、そう言うこと言ってんのはお前んとこだけだから、もうで
てくんなよ。
0900デフォルトの名無しさん
NGNG{
printf("#%X0000\n",red) ;
}
redが15以下の時でも%Xが二桁になるような変換文字はないのでせうか
0901デフォルトの名無しさん
NGNG%02X
0902デフォルトの名無しさん
NGNGどうもです
0903デフォルトの名無しさん
NGNGおまえはヘルプとかmanとかを見る習慣は無いのか。
0904専門士 ◆.t4dJfuU
NGNG0905pp
NGNG0906デフォルトの名無しさん
NGNGttp://pc3.2ch.net/test/read.cgi/mobile/1026956948/l50
ここみれ。
0907デフォルトの名無しさん
NGNGうるさいボケ。
ちゃんとここのヘルプの奴らを利用してやったじゃないか
役に立ってよかったと自己満足でもしてろ
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNGできるよ
0910デフォルトの名無しさん
NGNGif (!strchr(")*34\6", data[x][y]))
0911デフォルトの名無しさん
NGNG6をエスケープ?
0912911
NGNG0913902
NGNG絶対出てくると思った(ワラ
>903
マジレスすると、ヘルプファイル無い&man知らんかったです
とりあえずmanが何かは分かったので気付けます
つーか漏れが持ってる本には%02Xとか載ってなかったんだypヽ(`Д´)ノ
0914デフォルトの名無しさん
NGNG初心者過ぎる本には載ってないことが多い。
さらにいうなら、formatは
%<<digit>><<l or h>>type
という形を覚えておくといいかモナー。(ほんとはもっと複雑だけど)
0915デフォルトの名無しさん
NGNGスマソ、ワロタ。
哀愁漂ってる(;´Д`)
0916c初心者
NGNG以下のファイルがありました。
�@カンマ区切り(CSV形式)のデータが格納されているファイルで、
�Aレコードの区切りに改行コードがなく、全レコードが物理的な1レコードで構成
このようなファイルを、固定長の構造体に格納するには、
どうしたら良いのでしょうか?
以下の2点を考えてみましたが、どちらもイマイチです。
案1)レコードの区切りが無いから、一定サイズずつ読み込んで、
ごりごり構造体に格納して、格納しきれなかった分は、
領域の先頭に持ってきて、その後ろ分のデータをまたreadする。
(これは効率悪そうだし、テストが面倒だし、バグ多そう)
案2)fscanfを使って、カンマ区切ごとに構造体の各要素にreadする。
(これも、1項目の内容に空白があった場合、次の項目としてみなされ
てしまうので名称等の項目はNG。)
なれないC言語で、しかも開発要因が一人で、期限も厳しいのでどうか
お助けください。
0917デフォルトの名無しさん
NGNGmemchrなどで区切りを探し
memcpyでコピーする
ただし、ファイル全体が読みこめるアドレス空間があることが確実な場合のみ
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNGrand() * 99L / (RAND_MAX+1L) + 1
0923デフォルトの名無しさん
NGNG0924881
NGNG> inttp_keiyu_tbl[];
これはexternもついてないし、関数の引数でもないんだよな?
Cでは空の配列ってものは定義できないから、
「とりあえず要素が一個あるものとみなすよん」
という警告。
>>879の意味は>>888氏の解説してくれた通り。
で、>>881の後半の意味は、たとえば
#define U_HANDLE 1+0
なんてなってたときに U_HANDLE * 100 とかを考えてみれば分かるだろう。
基本的に、マクロ式やマクロの引数は、式のどこに置かれても意味が変わらな
いようにカッコをつけるべき。
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNG●←99面ダイス
0928デフォルトの名無しさん
NGNG100面ダイスってまだ売っているのだろうか?
懐かすぃ。
0929デフォルトの名無しさん
NGNG{
getchar();
return (time(NULL)%99)+1;
}
0930デフォルトの名無しさん
NGNGvoid initRand(unsigned u){ Ransu = u; }
unsigned uRnd(void){
Ransu = Ransu * 0x343fdL + 0x269ec3L;
Ransu &= 0x7fff;
returnRansu;
}
main(){
int x;
initRand(1 | time(NULL));
x = 1 + 99 * uRnd() / 0x8000;
}
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNG10面ダイス色違いで2ケ振ったほうがよっぽど実用的だと当時から思った。
0933_
NGNG0934デフォルトの名無しさん
NGNG0935_
NGNG最下位の桁を得たいときみんなどうしてるのかな?
整数なら%10で簡単に得られるよね。
普段小数使ってなかったから学校の宿題困ってます。
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNGfmod()
0938デフォルトの名無しさん
NGNGchar s[32];
double f;
int result;
f = 123.45
sprintf(s, "%f", f);
result = *(strchr(s, '.') - 1) - '0';
本気にすんなよ(w
0939デフォルトの名無しさん
NGNGmain
はどう違うんですか?
0940_
NGNGdoubleの範囲で値がとれるようにパワーアップせよ、みたいな問題だったので・・
>>937
さすがCライブラリなんでもあるなー。車輪の再発明するところだった。
>>938
あはは。いいですね。全部標準関数だし。
937さんの方法でやってみます。みんなありがとー!
0941_
NGNGvoid main(void)とmain()では?
意味はいっしょだと思うけど、なんか古い人は前者の書き方するみたい。
私がCを始めた頃はちょうどvoidって導入されて
void使う方がいい書き方って本で習ったけど・・・
0942デフォルトの名無しさん
NGNGそんなクソい本は投げ捨ててしまえ。
0943デフォルトの名無しさん
NGNGvoidが導入されたのってANSI draftあたりからだろ?
> void使う方がいい書き方って本で習ったけど・・・
なのにこれか? そんな本捨てちまえ。つーか書名/著者は?
0944デフォルトの名無しさん
NGNG返値の型省くとint扱い〜。
いや、全然違うよ。
戻り値を省略するとintになる。
だからmain()はint main()と同じこと。(奨励はされないだろうけど)
void main(void)はダメでしょ。引数のvoidはともかくmain()は値を返すべき。
0946_
NGNGああmainの話じゃなくて引数です。省略しないでvoid書いた方がいいと。
>>944, 945
そうなんですか。省略したことがないので知らなかった(w;
もちろんmain()はいつもintかえしてますけど。(make とか困るので)
0947デフォルトの名無しさん
NGNGこれだけ言われてるのにいまだにvoid main()と書いてる本があるという
のはある意味すごいな。
0948デフォルトの名無しさん
NGNG本質にはまったく関係ない。
こんなので初心者呼ばわりするのは正直カコワルイ
0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNGint main(int argc,char **argv); もしくは int main(int argc,char **argc,char **envp);
多少とも意味のあるプログラムを造るのに、argcやargvを使わないことは考えられない。
また、main関数は、終了ステータス(正常終了、異常終了)を返す必要があるため、
戻り値を必要とする。以上。
0951デフォルトの名無しさん
NGNG初心者じゃないね。もぐりだね。
0952デフォルトの名無しさん
NGNG>argcやargvを使わないことは考えられない。
どうします?これ。
0953デフォルトの名無しさん
NGNGenvpは規格外。
int main(void)かint main(int argc,char *argv[])。
0954デフォルトの名無しさん
NGNGほっとけば? 必要ないときだってあるんだし。
とりあえずうちのエディタは main C-l と打つと
int main(int argc, char **argv)
{
}
まで入力してくれるんで、argcとargvがいらないときでもつけてる。
あっても害はないしな。
warning levelあげたら文句言ってくるコンパイラがあるかもしらんけどな。
そんときははずすわ。
0955ボラれ王
NGNGとりあえずボーランドC++ビルダー6購入しました。
インストールしたまではいいんですけど
#include<stdio.h>
main()
とかやるには一体どうしたらいいんですか?
教えてください。
0956デフォルトの名無しさん
NGNGくれ
0957ボラれ王
NGNG教えてください!
0958デフォルトの名無しさん
NGNG6は持ってないからわからないけど、新規作成でコンソールウィザードって無い?
IDE使わないでbcc32使ってもいいけど。
それより、くれ。
0959デフォルトの名無しさん
NGNGメモ帳に書くの。
0960デフォルトの名無しさん
NGNGものにもよるでしょうけど、一般的にということで。
0961デフォルトの名無しさん
NGNG新規作成にある項目すべて試せばわかるよ。
0962デフォルトの名無しさん
NGNGまだユーザー登録していなかったら、アンインストールして俺にくれ。
0963デフォルトの名無しさん
NGNG�dでもなくメモリ喰ったりしないかぎり、
好きな方を選べばいい。
0964デフォルトの名無しさん
NGNGあふぉか、俺は質問に答えたし最初にくれと言ったのも俺だ。
>>955
お れ に く れ
0965デフォルトの名無しさん
NGNGそうですか。
今、ある機能を持った関数を書いていまして、2つ書いたんですけどどちらを取ろうか迷っていたんです。
じゃあ消費目盛りの少ない方を取ろうかな・・・コードもすっきりしているし。
両方とも満たすコードをかければいいんですけどね(^_^;)
0966965
NGNG0967デフォルトの名無しさん
NGNG0968ボラれ王
NGNGあっ、メモ帳に書くんですか!?全然知りませんでした。
>>961
そすですよね。でもそれはかなりめんどくさそうです。
>>962
もうユーザー登録してしまったと記憶しています。
>>964
もっと教えてください。
0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNGぼられたのか?
0971デフォルトの名無しさん
NGNG一般的には早い速度もメモリ消費もさほど考えずに、
すっきりとしたコードを書くことを心がけたほうがいいと思うぞ。
勿論あまりにもメモリを消費しすぎたり
(今現在だと100MBの配列をどんと取るのはよした方がいいと思う)
非常識に遅いアルゴリズムを使ったり(バブルソートとか)
するのはよくないけどな。
プログラムはまず正しく動くことが重要で、
それから性能に問題があれば最適化していくとよい。
すっきりとしたコードは大抵最適化しやすい。
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG次スレよろぴく〜。ビシっとしまる名前で頼むよ
0974デフォルトの名無しさん
NGNG逝ってくる。
びしっとしまる名前か。どんなのがいいだろうか。
0975ボラれ王
NGNGやっぱりフリーコンパイラを使うべきですか?
でもダウンロードしたんですけど
パスの設定でつまづいて購入に至りました。
>>970
購入しても、捜査がわからず、
ボラれた気分で日々を過ごしています。
0976デフォルトの名無しさん
NGNGマニュアルよめ
0977デフォルトの名無しさん
NGNGよし!元は取らにゃぁな。
今から本屋で「やさしいボーランドC++の使い方」とかいう本を買ってくるんだ。
それでも駄目だったら「初心者でも分かる『やさしいボーランドC++の使い方』」を
買ってくる。それでも駄目だったら・・・
0978デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1027160374/
0979デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1027160374/
0980デフォルトの名無しさん
NGNGボーランドが喜ぶね。
0981デフォルトの名無しさん
NGNG∧∧ ≡≡.\ / \〇ノゝ∩< 1000取り合戦、いくぞゴルァ!!
(゚ー゚*) 、 ≡≡\ /三√ ゚Д゚) / \__________
O┬Oc )〜≡≡\/三/| ゚U゚|\ \オーーーーーーーッ!!/
(*)ι_/(*) ≡≡\ ∧∧∧∧∧―――――――――――
――――――――――< 予 合 千 > __〃 ヽ lv
い、今だ1000ゲットォ!! < 感 戦 取 > ヽ\ .ノノノ)ヘ))〉ヽ' / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.∧ ∧ =- <. !! の り >_!(0.)! (┃┃〈リ / < はわわー。1000げっとです〜
(゚Д゚;) ≡=- /∨∨∨∨∨\ Vレリ、" lフ/ ./ \ \________
⊂┯⊂) ≡=- / 1000 ∧_∧\―――――――――――
(ヽ\ ヽ ) ≡=- / ゲット ( ´Д` ) \今だ!1000ゲットォォォォ!
し\J =- / しますた /, / \ ∧∧ ) ズザーーーーーッ
(( ̄(◎) ≡=-/ (ぃ9 | \⊂(゚Д゚⊂⌒`つ≡≡≡(´ ;;;≡
0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNGされていないのは何故なのでしょうか。逆に言うと、なぜ規約が複数
存在するんでしょうか。
0986デフォルトの名無しさん
NGNGWINDOWSにおいて__cdeclが標準でないのは、
コードサイズの縮小のため。
わざわざ処理系に__cdeclが用意されているのは、
可変長引数を実現するため。
0987デフォルトの名無しさん
NGNG_cdecl 可変個の引数を取り、呼び出し側でスタックを回復する。
_stdcall 固定個の引数を取り、呼び出された側でスタックを回復する。
1つの関数が何回も呼び出されるケースでは、_stdcallの方が全体のサイズが
小さくなり、動作も速い(だったはず)。
WindowsのAPIの場合、おおかた_stdcallで wsprintf() などの可変個の引数をとるものだけ、
_cdecl だったはず。
0988デフォルトの名無しさん
NGNG>>986-987 さん
可変長引数を実現するのが _cdecl だったんですね。
呼び出し規約がサイズに影響することも知りませんでした。
ご解説ありがとうございました。
0989989
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNGつってわざわざアゲて間違えたらどうすんだ、ホゲ
0994デフォルトの名無しさん
NGNG0995__
NGNG0996
NGNG0997
NGNG0998
NGNG0999
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。