C言語なら、俺に聞け! <32>
レス数が1000を超えています。これ以上書き込みはできません。
0001SHOW-A孫
NGNGいろいろな言語を極めたけど、一番漏れになじんだのはCかな。
Cのことなら父をも超えた。疑問な点があったら漏れに聞け。
便所とメシ食ってる時以外は暇だが、いちいちFAQに載った質問に応えるほど暇じゃないよ。
課題丸投げなら別スレにいってね。あと、至急父に仕事を与えてやってください。
コンパイラ、過去ログなどのリンクは>>2-5 あたり
0002SHOW-A孫
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
0003SHOW-A孫
NGNGhttp://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/prog/progf.html
http://www.bloodshed.net/index.html
【注意】
Cmachineは一般的なCと挙動が違いすぎるので動作の保証はできません。
まともな処理系を使いましょう。
0004SHOW-A孫
NGNGhttp://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/
推薦図書/必読書のためのスレッド PART 5
http://pc3.2ch.net/test/read.cgi/tech/1027593322/
前スレ <31> http://pc3.2ch.net/test/read.cgi/tech/1031340950/
0005SHOW-A孫
NGNG31 http://pc3.2ch.net/test/read.cgi/tech/1031340950/
30 http://pc3.2ch.net/test/read.cgi/tech/1030786546/
29 http://pc3.2ch.net/test/read.cgi/tech/1029605182/
28 http://pc3.2ch.net/test/read.cgi/tech/1028495798/
27 http://pc3.2ch.net/test/read.cgi/tech/1027160374/
26 http://pc3.2ch.net/test/read.cgi/tech/1026048820/
25 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
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/1020/10207/1020756993.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
15 http://pc.2ch.net/tech/kako/1016/10165/1016519243.html
14 http://pc.2ch.net/tech/kako/1015/10152/1015286974.html
13 http://pc.2ch.net/tech/kako/1013/10139/1013990673.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/1008/10083/1008300863.html
9 http://pc.2ch.net/tech/kako/1007/10072/1007272267.html
8 http://pc.2ch.net/tech/kako/1005/10058/1005811510.html
7 http://pc.2ch.net/tech/kako/1003/10034/1003418249.html
6 http://piza2.2ch.net/tech/kako/999/999617524.html
5 http://piza2.2ch.net/tech/kako/994/994908590.html
4 http://piza.2ch.net/tech/kako/992/992357382.html
3 http://piza.2ch.net/tech/kako/989/989929288.html
2 http://piza.2ch.net/tech/kako/979/979529893.html
1 http://piza.2ch.net/tech/kako/967/967985026.html
0006デフォルトの名無しさん
NGNG0007名無しさん@Emacs
NGNGお疲れ〜。これで粘着がいなくなるといいね。
0008デフォルトの名無しさん
NGNGおつかれ。
しかし、メール欄にvoidを忘れてる。
SHOW-Aがスレ主になっても、伝統は守らねば!
そしれ新スレ上げ
0009デフォルトの名無しさん
NGNGすげー、10歳で父を越えるとは。
将来有望じゃん。
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013684
NGNGお疲れ様。
どうもこの684というハンドルは験が悪いようなので、次に質問する時は
また新しいナンバーを使います。
0014デフォルトの名無しさん
NGNG仕事を振るべきなのは祖父の方じゃなかったか?
0015デフォルトの名無しさん
NGNG気にするなよ。
一部のfread厨が騒いでいるだけだから。
でも他のスレでレス番号の684は使えないな(ワラ
0016デフォルトの名無しさん
NGNG確保した2次元配列をつくり、3次元配列の値を2次元配列に代入したいのですが
どうもうまく行きません。全て"0"の値をもつテストデータを3次元配列に格納
してから2次元配列へ
a=xxx[i][j][k];
xx[j][k]=a;
のように代入してからxx[j][k]の値を出力すると
4252620
4252620
0
0
0
0
.
.
.
のように、先頭2つにおかしな整数値が現れます。
どこがおかしいのでしょうか?
0017デフォルトの名無しさん
NGNGソースを見せてもらわないと、文章だけじゃ分からないです…。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGint xxx[ISIZE][JSIZE][KSIZE];
int xx[JSIZE][KSIZE];
だったら、
memcpy (xx, xxx[i], sizeof (xx));
でいけるんじゃないか?完全なコピーではないなら別だが
それはそれとして、おかしくなった原因を必ず突き止めておくべき。
最低でも変数定義、malloc部分、表示部分を見ないとわからない
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG1ビット目使用しないだけ?扱える数増えるの?
0024デフォルトの名無しさん
NGNGそういう拡張をしてはならん、という規定はないと思うから、合法なんじゃない?
そんなの見た事ないけど。>>22がそれを何に使いたいのかも知らないけど。
0025デフォルトの名無しさん
NGNG002616
NGNGvoid main(){
int ***xxx,***yyy,**xx,**yy,a;
// 3次元配列を確保
// 2次元配列を確保
//ファイルオープン
for(i=0 ; i < t ; i++){
for(j=0; j < 128 ; j++){
for(k=0; k < 40 ; k++){
fscanf(fp1,"%5d", &a);
x[i][j][k]=a; //データは全て"0"
}
}
for( m=0 ; m < 6400 ; m++ ){
for(i=0 ; i < t ; i++){
for(j=0 ; j < 128 ; j++){
for(k=0 ; k < 40 ; k++){
a=xxx[i][j][k];
xx[i][m]=a;
}
}
}
}
for( m = 0 ; m < 6400 ; m++ ){
for(i = 0 ; i < t ; i++ ){
xx=xx[i][m];
printf("%d\n",xx);
}
}
}
002716
NGNG配列の動的確保の部分はとりあえず省いています。
0028デフォルトの名無しさん
NGNG002916
NGNGこんなのでやっていますが......。
(一応、失敗はしていないようです)
int ***new_matrix3d( int time, int range, int sector ){
int i,j;
int ***a;
if( ( a = ( int*** )malloc( sizeof( int** ) * time ) ) == NULL ) return NULL;
memset( a, '\0', sizeof( sizeof( int** ) * time ));
for( i = 0; i < time; i++ ) {
if( ( a[ i ] = ( int** )malloc( sizeof( int** ) * range ) ) == NULL ) {
free(a);
return NULL;
}
memset( a[ i ], '\0', sizeof( int* ) * range );
for( j = 0; j < range; j++ ) {
if( ( a[ i ][ j ] = ( int* )malloc( sizeof( int ) * sector ) ) == NULL ) {
free(a);
return NULL;
}
memset( a[ i ][ j ], '\0', sizeof( int ) * sector );
}
}
return(a);
}
0030デフォルトの名無しさん
NGNGrandでは無理ですよね?
0031デフォルトの名無しさん
NGNGゼロクリアならmemset使わないでcallocでいいでしょ。
0032デフォルトの名無しさん
NGNGメモリーの確保に失敗した時、freeするのはaだけじゃまずいでしょ。
メモリーリークの原因になるよ。
0033デフォルトの名無しさん
NGNGfor(i=0 ; i < t ; i++){
・・・
for( m = 0 ; m < 6400 ; m++ ){
for(i = 0 ; i < t ; i++ ){
xx=xx[i][m];<−−−−−−−−??????
printf("%d\n",xx);
}
}
}
?のとこはこれでいいつの?
0034デフォルトの名無しさん
NGNGええ、思いっきり疑似乱数ですから。
数学の本見てその通り実装するのが吉。探せばありそうだけど。
0035デフォルトの名無しさん
NGNGa=xxx[i][j][k];
xx[i][m]=a;
一対一の射像になっていない。>
0036デフォルトの名無しさん
NGNGまず、全然多次元配列になっていない。
003716
NGNG>>31
callocってつかった事が無くて...同じような使い方
ができるとは聞いていますが。
>>32
あ、そうですね。ループして全部開放して
やらないといけないですね。
>>33
そうです。まずいですか?
0039デフォルトの名無しさん
NGNGfor(i〜〜){
for(i〜〜){ と iが2つ重なっているよ。
0040デフォルトの名無しさん
NGNG・多次元配列 a[1,3,5];
・配列の配列の配列 a[1][3][5];
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG#define KSIZE 40
...
int t;
int (*xxx)[JSIZE][KSIZE];
int (*xx)[KSIZE];
...
xxx = malloc (sizeof (int) * t * JSIZE * KSIZE);
xx = malloc (sizeof (int) * JSIZE * KSIZE);
...
とりあえず、こっち↑のほうが余分なループがなくていいと思う。
xxは固定サイズなので、動的に割り当てる必要はないと思うのだが?
0043デフォルトの名無しさん
NGNGxxかえたら迷子にならない?
ポインタの計算元じゃあないの?
0044デフォルトの名無しさん
NGNG一様乱数で検索かければたくさん出てくるじゃん。
っていうか一様乱数って知らなかったから検索かけちまった。
004542
NGNG0046デフォルトの名無しさん
NGNG木構造実装してみ勉強になると思うよ
参考
struct foo{
type Obj;
foo* pParent;
foo** pChild;
};
004742
NGNGint (*xxx)[JSIZE][KSIZE];
int (*xx)[JSIZE * KSIZE];
...
int xxx_size = sizeof (int) * t * JSIZE * KSIZE;
xxx = malloc (xxx_size);
...
xx = xxx; // 内容を一致させるのであれば、ポインタの置き換えで終わり
または
xx = malloc (xxx_size); // 同じサイズ
memcpy (xx, xxx, xxx_size); // コピー
これで終わり?
0048デフォルトの名無しさん
NGNGそういうあなたもポインタを勉強し直してね。
foo *pChild;でしょ。
0049デフォルトの名無しさん
NGNG> foo** pChild;
これに何入れるか教えてあげないと怪我すると思った。
005048
NGNGstruct foo *pChild;だ。
00511
NGNG基本情報の問題なんですけど、ずっとわからなくて次に進めません。
回答や参考書を見てもわからないです。
どなたかわかりやすく教えてください!
--------------------------------------------------------------------------------
次のような3バイトで数値±a×16^nを表現する浮動小数点がある。
| 指数部7ビット | 仮数部16ビット |
┌─┐─────────┐──────────────┐
│ | n | a |
└―┘―――──――――┘―――───────――――┘
↑ ↑ ▲
ビット0 数値全体の符号 小数点の位置
(0:正、1:負)
・仮数部の数値は、絶対値で表す。 0<=a<1。
・指数部のnは、指数部が16^nであることを表す。
・指数部のnの負数は、2の補数で表す。
この形式で表現できる負の数の最大値(0に最も近い値)はどれか。
ア 000001 イ 00FFFF ウ 410001 エ C00001 オ F00FF1
---------------------------------------------------------------------------------
答えは「エ」なんです。でも、やり方がわかりません。
自分で問題を解いた時は、
「この形式で表現できる負の数の最大値(0に最も近い値)はどれか。」
と書いてあるので1 111 1111 1111 1111 1111 1111(2)にしてFFFFFF(16)って
答えがなったんですけど、解答欄にないんです。
005316
NGNGえ.....そんな....。
>>39
あ、ミスです。i〜、j〜です。
>>40
重箱??
>>41
あ、そうでした。
a=xx[i][j];
とかにしないと。
>>42
それでも2次元、3次元つくれるんですね。
(知らなかった)
xxのインデックスも変わる可能性があるので、一応、
動的に割り当てています。
とりあえずありがとうです。
今日は終電近いので帰ります。
(連休も無しだな......とほほ。)
明日またレスします。
0054デフォルトの名無しさん
NGNGあちらこちらに貼るなよ。
荒らすなら例のスレだけにしろよ。
0056デフォルトの名無しさん
NGNGああすまん、木構造って二分木かと思った。
でも、foo **pChild;じゃなくてstruct foo **pChild;にしないとだめじゃない?
005742
NGNG#define JSIZE 128
#define KSIZE 40
main () {
int (*xxx)[JSIZE][KSIZE];
int (*xx)[JSIZE * KSIZE];
int t;
int xxx_size;
//
t = 3;
// xxx
xxx_size = sizeof (int) * t * JSIZE * KSIZE;
xxx = (int (*)[JSIZE][KSIZE]) malloc (xxx_size);
// xx
xx = (int (*)[JSIZE * KSIZE]) xxx; // 内容を一致させるのであれば、ポインタの置き換えで終わり
//
free (xxx);
}
005856
NGNG0060デフォルトの名無しさん
NGNGC++ならね。
0062デフォルトの名無しさん
NGNG拡張子を.cppじゃなくて.cにしてコンパイル。
0063デフォルトの名無しさん
NGNG006442
NGNG>>16
>>57を使うと、常に
(xxx[i][j][k] == xx[i][m]) (ただし m = j * KSIZE + k)
が成り立っている状況を作れる。多次元配列の要素の連続性を利用している
。。。というつもりで作ったけど、バグってたらごめん
0067デフォルトの名無しさん
NGNG1000でマジレスカコイイ!
006846
NGNG0069デフォルトの名無しさん
NGNG配列の末尾にNULLはどう?
0071デフォルトの名無しさん
NGNGそうそう、最初コピペかと思って読んでみたら
0072デフォルトの名無しさん
NGNGこれまた処理系依存とかじゃないの?
007346
NGNG0074デフォルトの名無しさん
NGNG__cdecl
じゃないとだめらしいのですが、この関数はどうやって引数の数を調べるのでしょうか?
0076デフォルトの名無しさん
NGNG引数を右からとか左からとか
VCならヘルプみそ載ってたよ
0077デフォルトの名無しさん
NGNG007874
NGNGちがーう。アセンブラレベルでの話だ
0079デフォルトの名無しさん
NGNG_cdeclと_pascalって。
0082デフォルトの名無しさん
NGNG大抵の環境でintと同じサイズになると言うのは真だけど、
標準で規定されているわけじゃないから、実装依存と言わざるを得ないってところ。
008374
NGNG本読んでたら 79が言うように _cdcelは呼び出し元で引数をPUSH/POPするんだって。
呼び出された側ではドンだけ引数が渡されるかわからないから。
でもそのままだとどっちにしろドンだけ引数が渡されたかわからない気がするのは僕だけ?
0084デフォルトの名無しさん
NGNG008574
NGNGなるほど。printfって引数の数が合ってないときは動作保証なかったしね。
納得っす。ありがとー。
0086デフォルトの名無しさん
NGNGどうやったらクローズ時にファイルが消えるようにできるんだYO!
独り言スマソ
0087デフォルトの名無しさん
NGNG2作ったときからインデックスと分離しておく
3OSの機能
0088デフォルトの名無しさん
NGNGremove()でだめぽ?
0089デフォルトの名無しさん
NGNG>tmpfile
とりあえずこんな妙な英単語はない。
最近の若いもんはテンポラリも知らんのか・・・。
0090デフォルトの名無しさん
NGNG悪い、3以外全然わからん(煽りじゃなくてマジで)
>>88
fcloseも改造すればいいのかな???
fclose時に削除ルーチンを呼ぶ方法がわからないのよ。
0091デフォルトの名無しさん
NGNGCの標準関数にあるはずだけど・・・
0092デフォルトの名無しさん
NGNG省略形くらい大目に見てやってよ
通じるんだから
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNGtmpfile()
0095デフォルトの名無しさん
NGNGtmpfileで作成したディスクリプタを判別する方法があるんだろ
#ライブラリ内部で
で、fclose時に自動的に消している、と。
0097デフォルトの名無しさん
NGNGああやっぱりfcloseにしかけがあるんだね。ありがとう。
プログラム終了時に削除ってのはatexitでどうにかなるかな。
0098デフォルトの名無しさん
NGNGで、早速C言語でXBOXを作りたいのですが、C言語はドコで習えばいいのですか?
0099デフォルトの名無しさん
NGNGごめんなさい、実装方法なんて書いたけれど、
本当はtmpfileの仕組みが知りたかっただけなんです。
0100デフォルトの名無しさん
NGNGNOVA行きな!
0101やった〜
NGNG0102デフォルトの名無しさん
NGNG2011/11/11 11:11に111取ることを忘れるな
010342
NGNG聞きたいんだけど(寝てるだろうけど)、>>29の、
int ***new_matrix3d( int time, int range, int sector );
↑これで得られる、ツリー状にポインティング(?)された配列の集合、
この構造がどうしても必要なの?(ちなみに、この関数はエラーに弱い)
というのも、最初は多次元配列であれば何でもいいのかと思ってたんだけど、
このnew_matrix3dという関数は、どうやら16の作ったものじゃなさそうだから、
これと互換性のある構造を使わなければいけないのかな、と思って。
だとすれば、>>57は全く見当違いだから、忘れてほしいw
(つづく)
0104デフォルトの名無しさん
NGNG学校or本とかネットで独学
というかここでそんな質問をしている時点で
才能はないと思われているかもしれない…
がんがれ
0105デフォルトの名無しさん
NGNG猫でも見とき
0106デフォルトの名無しさん
NGNG忘れて済んだら警察いらねーんだよ。
0107デフォルトの名無しさん
NGNG殺人犯して忘れて欲しいってアリ?
0108デフォルトの名無しさん
NGNG糞箱の中身が実質WinNTだと理解した上で言ってるのか?
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG最短距離割り出すには距離保持しつつ再帰呼び出しで辿るしかないですか?
011142
NGNG>>16
で、>>26のコードにはいろいろ疑問な点があるってのは既出のとおりだけど、
一番本質的な問題は、
xxx[i][j][k] と xx[i][m] の要素どうしの対応関係
が書かれていない、ということ。普通に考えれば、
m = j * 40 + k, i = m / 40, k = m % 40
または
m = k * 128 + j, k = m / 128, i = m % 128
だと思うんだけど、
0≦m<6400 に対して
0≦j*40+k (または k*128+j)<5120
という、致命的なサイズの不一致!!!これが何を意味しているのかが
わからなければ、何もアドバイスできないよw
まあがんばってくれ
(おわり)
0112デフォルトの名無しさん
NGNG「行き止まりのところを消す」でしょ。
距離保持しつつ〜はあってると思う。
>>111
というか、一番外で6400回も回すなといいたい。
意味無い事してる。
0113112
NGNG011442
NGNGいやわかってるよw
彼はね、パフォーマンス云々以前の水準だと思うから、
とりあえず判然としないロジックから正す方向で。。と。
まじめそうだし礼儀あるから見込みはあると思われ
0115デフォルトの名無しさん
NGNGtmpfile()内で作成したファイルを消す関数を
atexit()で登録してるんじゃないかな?
と思ってみるテスト。
0116デフォルトの名無しさん
NGNGグローバル変数 const char foo[] = "hogeratta"; があるとき、
fooのメモリ領域に(適当にキャスト使って)書き込むのって、規格上safe
でしたっけ?? const はとりたくないんです。C++のmutableなメンバ
変数のような役割なので。
0117デフォルトの名無しさん
NGNGconst char buf[] = "ABC";
int main()
{
int n = (int)buf;
char* pbuf = (char*)n;
cout << buf << endl;
strcpy(pbuf, "abc");
cout << buf << endl;
return 0;
}
コンパイルは通ったけど・・・
0118デフォルトの名無しさん
NGNGうん。そりゃコンパイルは通せるよ。そうではなく、どんな処理系でも書き込み可能な位置に
"hogeratta"が置かれる事が保証されるか、をしりたかった。
あとできればC++ではなくANSI Cの規格がしりたいです。
0119デフォルトの名無しさん
NGNGスレ違いとか言わないで・・・
0120デフォルトの名無しさん
NGNG配列を確保してから書きこみしているのだから。
char *p = "hogeratta"; ならマズイ。
OSに依る。
unix系なら、オープンされているファイルでも削除できるので、
オープンした直後に削除する。この場合の削除は、ディレクトリ
エントリからファイル名を削除するだけで、ファイルがオープン
されている間は、ファイルの実体は存在したままとなる。ファイル
への参照がすべてクローズされると、ファイルの実体が削除される。
windows系なら、ファイルをオープンする際に、delete-on-closeが
指定できる。
0122デフォルトの名無しさん
NGNGhttp://www.sf.net/
0123120
NGNG0124デフォルトの名無しさん
NGNG規格はもっていないが、「ANSI C言語辞典」によると
"非volatileのconstオブジェクトを読み込み専用領域に置く処理系もある"
そうなのでunsafeかもね。volatileつけとけ。
ISO/IEC 9899:1999 によれば、変更できることは要求されていない。
"/tmp/fileXXXXXX"
(char []){"/tmp/fileXXXXXX"}
(const char []){"/tmp/fileXXXXXX"}
The first always has static storage duration and has type array of char,
but need not be modifiable; the last two hav e automatic storage duration
when they occur within the body of a function, and the first of these two
is modifiable.
現実的には、コンパイラオプションでread-onlyでない場所に置くよう
指定できる場合が多いが。
0126デフォルトの名無しさん
NGNG0127質問者
NGNGありがとうございました
0128デフォルトの名無しさん
NGNGなぜ一度intにcastしているのかを小1時間(略)
0129119
NGNGPlease describe your Registration Purpose in a more comprehensive manner
とか出て先に進めないんですが(英語嫌
それとpublic domainがフリーですか?
0130デフォルトの名無しさん
NGNG何がしたいの?詳しく書いてみ。
0132デフォルトの名無しさん
NGNGもろもろを貸してくれる場所。
そういう習作を晒したいならgeocitiesでも借りれ。
0134120
NGNGIf an attempt is made to modify an object defined with
a const-qualified type through use of an lvalue with non-
const-qualified type, the behavior is undefined. If an
attempt is made to refer to an object defined with a
volatile-qualified type through use of an lvalue with non-
volatile-qualified type, the behavior is undefined.104)
あ。おそかったか。まあいいや。C99ね。
0136119
NGNG0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNGなるほど
C99でもダメってことですね。
さんくす。
constは左辺値になれないだけであるので、
別に矛盾はしていないと思われ。
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG(´-`).。oO(ISO/IEC 9899:1999 == C99 なわけだが……)
0142119
NGNGhttp://proxy.ymdb.yahoofs.jp/users/e0437b1f/bc/Projects/TreeObj.lzh.lzh?bcGOq09AE5WRJ50Z
これでいいのかな?
見て見てぇ
0143デフォルトの名無しさん
NGNGガーン。無知です。ありがとう。
0144143
NGNG吊ってきます。
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG403 forbidden. 取れない。
0149デフォルトの名無しさん
NGNGだからlzh取得できねって。
0152119
NGNGhttp://jp.y42.briefcase.yahoo.co.jp/bc/nas6_2001/lst?.dir=/Projects&.view=l&.src=bc&.done=http%3a//jp.y42.briefcase.yahoo.co.jp/bc/nas6_2001/lst%3f.dir=/Projects%26.src=bc%26.view=l
それならこれです
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG中途半端すぎて笑える。何故
TreeObj<T> **pChild;
なんだ? std::vectorを使用しない理由は?
0156デフォルトの名無しさん
NGNG上まあスレ違いなわけだが。苦笑。
0157155
NGNG・コピーコンストラクタを、実装するかは別にして書きましょうね
・operator=の戻り、おかしいですよ?
・addChildの引数は値渡しでいいんですか?
以下延々と続く…
0158デフォルトの名無しさん
NGNGobject suicide という。
0159119
NGNGTreeObj.cppは捨てて下さい
>>155
>>156
VC5.0だとvectorは自己参照ポインタ使うと引っかかるんですよ
メモリの動的確保も練習したいし
んでmap使うと習作の意味がなくなるんで
0162デフォルトの名無しさん
NGNG>GlobalFree(this); ってのは…?
そういえば MS 社は WinAPI::waveOut*** のサンプルで
HeapAlloc() 使ってるけどよそのサイトでは malloc で済ませてる
ところもあるんだけど、malloc じゃダメなのかな。
0163155
NGNGreturn (*this); ね。
多分Effective C++かMore Effective C++に載ってる。
0164155
NGNG0165デフォルトの名無しさん
NGNGwhile(ChildNum) (*pChild)->del();
これ大丈夫なん?
0167162
NGNG0169155
NGNGreturn (*this); しないと
TreeObj<std::string> x, y;
x = y = "foo";
の2行目がコンパイルできないだろう?
0171デフォルトの名無しさん
NGNG個人的には全部ディープコピーってあたりが漢だねぇって感じだヨ
0172デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG燃料になんないよ
0175デフォルトの名無しさん
NGNGNULL紛争でも起こしたいのか?(藁
0176デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1031028125/
銭湯員随時募集中
0177119
NGNGCの標準的な文法で比較的分かりにくいのって
ポインタと再帰呼び出しくらいですよね
0178デフォルトの名無しさん
NGNG文法関係ない
0180デフォルトの名無しさん
NGNGわかりにくいならsignal()の定義はなかなかのものだと思う
0183デフォルトの名無しさん
NGNGvoid (*signal(int sig,void (*func)(int)))(int);
まあ似たようなもんですが
WinProcなら LRESULT CALLBACK (*WinProc)(HWND ...); ですかね
0184119
NGNGこれも進化ですかね
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG0188119
NGNG逝ってきます
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG0192セミコロンってどうよ?
NGNG0193デフォルトの名無しさん
NGNGそうか、もう秋なんだね。
0194デフォルトの名無しさん
NGNGそっちか 風流だなぁ
おれはセミの匂いのするコロンかと思ったよ
0195155
NGNGhttp://www.sage-p.com/process/cool.htm
これで書け(藁
0197デフォルトの名無しさん
NGNGそこをなんとか教えてください
0199デフォルトの名無しさん
NGNGだからぁ〜
aを10で割ると余りはどうなるよ?アレになるっしょ?そんな感じで...
0200デフォルトの名無しさん
NGNGなるほど!
ありがとうございました
0201119
NGNGfor文の継続条件ちょっと違うかも。でもこんなかんじだとおもわれ
char *hoge(int a)
{
static char str[256];
int i,j,k;
//桁拾い
for(i=0,j=a;j>0;i++,j/=10);
//代入
for(j=0,k=a;j<i;j++,k/=10) str[j]=k%10+'0';
return(str);
}
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGDQN
0207201
NGNG逝ってきます
0208デフォルトの名無しさん
NGNGオーバーフロウするかどうか判断できない方がDQN
0209201
NGNGもっかい逝ってきます
0211デフォルトの名無しさん
NGNG考え方がC-dog
終ってる
0212デフォルトの名無しさん
NGNGオーバーフロウってバッファオーバーフロウのことだよ。
0214デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG255桁も10桁も逝くか逝かないかはintのビット数によるだろ。
0218155
NGNG0219208
NGNGC99?しらん
0221デフォルトの名無しさん
NGNG重箱の隅をつついてみただけだ。気にしないでくれ。
0224デフォルトの名無しさん
NGNG馬鹿だった・・・・
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGfseek (fp, 0, SEEK_END);
l = ftell (fp);
このコードってUNIX系でしか正しく動かないようなのですが
標準でファイルサイズを取得する方法はあるんですか?
0227デフォルトの名無しさん
NGNGWindowsでも正しく動くけど・・・
0228デフォルトの名無しさん
NGNGそうなんですか。
確かfseekにSEEK_ENDを指定したときはテキストモードでオープン
しないと動作は保証されないようなことを読んだことがあったので。
UNIXだとバイナリモードもテキストモードも同じなので"rb"でオープン
しても問題ないけど両方のモードが違ったときはまずいのかと思ってました。
0229デフォルトの名無しさん
NGNGじゃあバイナリモードで開けばいいでしょ・・・
0230デフォルトの名無しさん
NGNGいや、それだとだめってことなんですけど。
バイナリファイルの場合に。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG「バイナリモードではfseekが正しく機能しない」?
とりあえず、、、
はつみみです
てか、困らない?
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGバイナリモードで「SEEK_ENDを指定した」場合です。
0235デフォルトの名無しさん
NGNG> 確かfseekにSEEK_ENDを指定したときはテキストモードでオープン
> しないと動作は保証されないようなことを読んだことがあったので。
0236デフォルトの名無しさん
NGNGSEEK_END ともう一つ別の方法でファイルサイズをとってみて、
食い違うっていう例を、自分のハードディスクの中でみつけてから
逝ってくれ
0237デフォルトの名無しさん
NGNGこれはいま検索したんですが今までもおかしいと思っていたので
複数あたっていました。
0238デフォルトの名無しさん
NGNGこの記述も俄かには信じがたいけど、「サポートしなくてもいい」って意味だよね
じゃあ、特定のライブラリの仕様を確認すればいいんじゃないの?
少なくとも、↓ここには変なことは書いてない
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_fseek.asp
023916
NGNGまずはレスの中身を理解してからレスします。
(休日出勤です。すこし寝過ぎました。)
0240デフォルトの名無しさん
NGNG書籍でも「C言語によるプログラミング スーパーレファレンス版」と
あと一冊名前を忘れてしまった本にも載ってました。
いまwindowsでgccでやってみたら問題なかったです。
以前 linux で libc の fopen のソースを見たら確かにモードを区別
していなかったのでそっちでは安心して使っていたんですが。
0241デフォルトの名無しさん
NGNGもしサポートしてなければ、たぶんエラーコードを返したりすると思うから、
それをはじけば問題ないんじゃない。まあ、まったく出鱈目な結果になるという
恐れもあるが。。
0242デフォルトの名無しさん
NGNGstruct foo {
int member;
} foo;
とあるのをファイルに出力するときに、
foo f;
ptr = &f;
len = offsetof(f, member) + sizeof(int);
とやっているのがあるのですが、
これは、やっぱり構造体の padding を意識しているのでしょうか?(C FAQより)
とすると、メンバーを
struct foo {
int member;
long member2;
} foo;
と追加したときには、
ptr = &f;
len = offsetof(f, member) + sizeof(int) + sizeof(long);
とするのが正しいのでしょうか? それとも、
ptr = &f;
len = sizeof(struct foo);
とするのが正しいのでしょうか?
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGつまり、一番最後尾にあるかもしれない詰め物を、避けているってわけ?
だとすれば、member2が最後の要素なんだから、
ptr = &f;
len = offsetof(f, member2) + sizeof(f.member2);
こうじゃないの?最後の要素の末尾=全体の末尾
0245デフォルトの名無しさん
NGNG|member1|???|member2|???| (= f)
これを、ファイルの中では
|member1|???|member2|
これだけにしたいのでは?
0246explosion.cpp
NGNG#include <vcl.h>
#pragma hdrstop
#include "Explosion.h"
#include "global.h"
#include "RenderTex.h"
#include "debug.h"
#include "RenderSprite3.h"
#include "d3dutil.h"
#include "sndset.h"
#include "sndid.h"
#include "TexSet.h"
#include "particle.h"
#include "sub.h"
#include "debug.h"
USE_TR;
//---------------------------------------------------------------------------
#pragma package(smart_init)
0247explosion.cpp
NGNG// 爆発・抽象基本クラス
//---------------------------------------------------------------------------
// 爆発クラスへのCasterを返す (DeleteClass用)
//static
const LAppCaster<CExplosion>& CExplosion::Caster()
{ SV
static LAppCaster<CExplosion> c;
return c;
}
// cter, dter
CExplosion::CExplosion()
:CAppObj(g->appMan)
{ SV
}
CExplosion::~CExplosion()
{ SV
}
0248explosion.cpp
NGNG// 普通の爆発
//---------------------------------------------------------------------------
static const intTEX_NUM = 9, TEX_NX=999;
static const CPointTEX_POS(0, 0);
static const CSizeTEX_SIZE(54, 54);
static const floatANIM_TIME = FPS30*4.0f;
CNormalExplosion::CNormalExplosion(const CVector3& pos, float size)
:CExplosion(),
mTime(0.0f), mIndex(0)
{ SV
mSpr.pos = g->camera->Proj2D(pos, 640.0f, 480.0f,
P2D_CENTER|P2D_CENTER, TEX_SIZE.cx*size, TEX_SIZE.cy*size);
mSpr.scale = CVector2(size, size);
mSpr.tex = g->texBomb;
mSpr.rect = CRect(TEX_POS, TEX_SIZE);
g->renderSprite->Add(&mSpr);
0249デフォルトの名無しさん
NGNG0250explosion.cpp
NGNG{
float cr, cg, cb;
// 一定の確率で、真っ白の火花
if ( g->rand(100) < 10 )
cr = cg = cb = 1.0f;
else // それ以外は適当な色
cr=frand(0.7f,1.0f), cg=frand(0.7f,1.0f), cb=frand(0.0f,1.0f);
CParticle::New(pos,
1.5f, 0.4f,
CVector3(-15.0f, -15.0f, -15.0f), CVector3(+15.0f, 15.0f, 15.0f),
CVector3(1.0f, 1.0f, 1.0f),
CParticle::Tex(CParticle::WHITE), 0.5f,
cr, cg, cb
);
}
g->sysSnd->Play(SE_HIT01); // 爆発音
}
0251デフォルトの名無しさん
NGNGあーなるほど。最後の詰め物だけを除いているわけですか。
ふむふむ。そうかそうか。
ところで、こういうコーディングって一般的なんでしょうか?
いや、今回初めて見たんですけども、
最後の詰め物_だけ_を取ってる、ということは、
メンバーが増えれば増えるほどその意義は小さくなりますよね?
んー、やってることは分かったけど、
意図しているところが全然分からんちーん。
他の構造体では sizeof(struct bar) とかやってるし。
0252デフォルトの名無しさん
NGNGあまりよくないと思うけどね。面倒でも適切なバイト列に変換する
手続きを書いた方がいいかと
0253デフォルトの名無しさん
NGNGただ、既存のものと整合性を取らないといけないので、ちょと大変。
もうちょっと考えてみます。ありがとうございました。
0254デフォルトの名無しさん
NGNG私は、一回のマイナス方向の変化量が、変化量の最大を超えないっていう前提で
a = (a + max) % max;
ってしているのですが、もっといい方法はありますか?
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNGa = (0 <= a) ? a % max : max-1 - ((-a) % max);
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNGは恥ですか?
0259258
NGNG0261デフォルトの名無しさん
NGNG教えてください
googleでは調べたんですけどね…
0262256
NGNG0263デフォルトの名無しさん
NGNG質問です
以下において
x = 式(1) || 式(2);
式(1)または式(2)の結果が0以外であれば他方が評価されないのは
処理系依存でしょうか
0264担当TSJ/霧生
NGNG■PC初心者でも出来ます■
■ 仕事は、宣伝のみ!■
PCでのメール・掲示板の書き込みetc....
あなたしだいで50万以上も可能!
即日スタート可能!
収益100%ひとり占め!
まずはメールでお申し込み下さい。
[email protected] 担当TSJ/霧生
0265デフォルトの名無しさん
NGNGその話、昨日か一昨日どっかで出たばっかりだ。
0266デフォルトの名無しさん
NGNG左から右だけど処理系依存ではないと思う(たしかANSI
0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNG探してきてやったぞ。俺っていい奴だな。
http://pc3.2ch.net/test/read.cgi/tech/1031340950/n637-660
0269デフォルトの名無しさん
NGNG0270256
NGNGわかった、こうこう:
a = (0 <= a) ? a % max : max - 1 - ((-a - 1) % max);
実行例:(max=10の場合)
14
==> 4
1024
==> 4
-1
==> 9
-10002
==> 8
0271デフォルトの名無しさん
NGNG0273256
NGNGカッコいらないや
0274デフォルトの名無しさん
NGNGA 申し訳ございません。文化についてはあまり知識がありません。
0276254
NGNG>>256
マイナスの値に対して % 使ったときの結果って処理系依存じゃなかったですっけ?
私の勘違いかな?
>>258
割り算よりも条件分岐によるパイプラインの乱れの方が
実行時コストが大きいような気がするのは
私だけでしょうか?
0277デフォルトの名無しさん
NGNG> 私だけでしょうか?
私も同感です。ハイ。
0278277
NGNGa &= max - 1;
がいいかもしれないね。
勘違いしてたらごめん。
0279デフォルトの名無しさん
NGNGそこまで気にするならCは使うな。
0280デフォルトの名無しさん
NGNGハア?
0281デフォルトの名無しさん
NGNGアセンブラでも使えよ。
0282254
NGNGですよねー
>>278
たしかに2の累乗ならビット演算の方が速そうですね。
>>279
その昔VB厨だった頃、(別の問題で)「そこまで気にするならVB使うな」
と言われて C 系言語に乗り換えたのですが…。
私はこのまま汗使いになるしかないのでしょうか?
0283デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNGイソライソカソスウ
0286デフォルトの名無しさん
NGNG>私はこのまま汗使いになるしかないのでしょうか?
なれ。
0287デフォルトの名無しさん
NGNGハア?
実行速度を気にするヤシはCを使うなと?
画像操作とか、データ圧縮とかのソースなんかも
全部アセンブリ言語で書かれていると?
すごい世界だな。
>>283
速度的に最適化すべきところはCでも当然気にして作るし、
気にせんところでは関数呼び出しのコストも気にせん。
まあ初心者スレで言っても無意味か。
0288デフォルトの名無しさん
NGNG必 死 だ な ( 藁
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNGCにはインラインないから・・・
オーバーヘッドが気になると言うなら、
やっぱ、すべてmain関数に同じような処理でもすべて書いて、
main関数は数万行突破となるのかな?(w
利点を欠点と考えるのは間違ってると思いま〜す。
0291デフォルトの名無しさん
NGNG0292晒しage
NGNG287はインラインアセンブラとかしらんのだろうか。
(プププッ
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG> 287はインラインアセンブラとかしらんのだろうか。
(ぷっ!
0295デフォルトの名無しさん
NGNGc99とか誰かが書く
0296デフォルトの名無しさん
NGNGそんなに気になるものなの?
0297デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGだから問題はそのコストをどこにかけるかってことだろ?
0300デフォルトの名無しさん
NGNGa = (char *)malloc(30);
b = (char *)malloc(30);
strcpy(a, "abcde");
strcpy(b, "ABCDE");
a = b;
と、こうした場合、最初のaの値のメモリは自動開放になるのでしょうか?
リンク切れの状態でメモリに存在するんでしょうか?
0301デフォルトの名無しさん
NGNGの方が正しいです。
0302デフォルトの名無しさん
NGNGC に「自動開放」なんて期待するなよ。
0303デフォルトの名無しさん
NGNGやっぱり、そのままメモリに残るんですか・・・。
ありがとうございました。
0304デフォルトの名無しさん
NGNGそれで解放されるんならfreeは要らんな・・
0305デフォルトの名無しさん
NGNGそれが必要になるほどきちんとしたアルゴリズムを採用していてそれをきちんとソースに落とせているレベルの
人間の会話とは思えないんだが。
0306mukku
NGNGどうやったらいいんでしょう(爆)
notepadしか使わないもんで ほんとに初歩的な質問で気を悪くされたら
ごめんなさい
0307デフォルトの名無しさん
NGNGwordpad
0308デフォルトの名無しさん
NGNGまあ好みだろ。自分でわかりやすけりゃそれでいい。
0309デフォルトの名無しさん
NGNGこのつながりがさっぱりわからんのだが?
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNG2chのスクリプトの混乱か?
main () {
int ret = system ("\"C:\\Program Files\\Accessories\\WORDPAD.EXE\"");
printf ("ret = %d\n", ret);
}
0312デフォルトの名無しさん
NGNGShellExecute かな
0313デフォルトの名無しさん
NGNGsystem ("ワードパッド");
0314デフォルトの名無しさん
NGNGつーかネタにマジレスはイタイ。
0315デフォルトの名無しさん
NGNGネタ披露するなら、面白くなくっちゃダメだと思う訳よ。
で、笑えねーし、ジョークなのかマジなのかわからねーようなネタは、
ただの糞レスだと思う訳よ。
マジだと思って、ちょっとレス入れたら、「ネタにマジレスするな」とか言われると、
「マジレスされるようなネタかましてんじゃねーよ!」って思う訳よ。
ネタにマジレスするのが痛いんじゃなく、
マジレスされるようなネタが痛いと思う訳よ。
0316デフォルトの名無しさん
NGNGint *hoge;
のように宣言すると、これはintへのポインタ型の変数hogeというわけですよね?
では、これを
int *hoge="チンカス";
と書くと、これは配列になりますよね?なぜですか?
しかも、hoge[2]のように変数hogeを使えますよね。
ポインタなのに、なんで配列と同等に扱えるのですか?
0317デフォルトの名無しさん
NGNGこれしきのネタを見抜けないお前の方がイタイ。
でも半分同情する。正直でいい人なんだろうなと。
0318デフォルトの名無しさん
NGNGワーミングが出たYO?
_a.c: In function `main':
_a.c:3: warning: initialization from incompatible pointer type
0319デフォルトの名無しさん
NGNG>>316はネタなのかマジなのか教えてください。
0320デフォルトの名無しさん
NGNGマジです。
マジレスキボンヌ!
0322317
NGNGそれがC言語の仕様だからです。としか答えようがありますまい。
配列は式内でポインタに成り下がります。
とどのつまり、char配列 → char*と解釈され、
それを(キャストを怠りながらも)int*に代入
しているのであります。
> しかも、hoge[2]のように変数hogeを使えますよね。
これではバッファオーバーランとなりますまいか?
0323デフォルトの名無しさん
NGNG仕様だから。
0324デフォルトの名無しさん
NGNGこのへんでも読んで理解を深めてきたまへ。
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
0325デフォルトの名無しさん
NGNGそーゆー話は他所でやって下さい。つか、1byteカナ多すぎてうぜぇ。
>>316
あなたが使っているコンパイラに興味があります。
ふつー >>318 の様に、怒られる筈ですが…
0326デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNGSymantec Cとか?
過去の遺物じゃん
032916
NGNG42さんが教えてくれたことを中心にポインタを勉強し直して
書き直すこと7時間余、ようやく正常に動いているらしきソース
ができました。
>>112さんの御指摘と42さんのコメントを基に、だいぶ速度も
あげることができました。(処理する内容は
(128+26)*(26+40)*12*24*98個と6400*30個のデータのマッチング
なので速いほうが助かります。)
我ながら意味不明の箇所も多いのですが、また整理して質問いた
します。
皆様ありがとうございました。
0330デフォルトの名無しさん
NGNG=286868736
なんかとんでもねェなオイ
0331デフォルトの名無しさん
NGNGワーミング
全然違うのに何故話か話が通じるという…
余談だが、インラインアセンブラじゃなくインラインアセンブリじゃないの?
0332デフォルトの名無しさん
NGNGワーミングはネタだってばw
0333デフォルトの名無しさん
NGNGインラインアセンブラ→インラインのアセンブリ(言語)を
翻訳するための機能(道具)。
こんなところでよろしいか?
0334デフォルトの名無しさん
NGNG全言語のページから"inline assembly"を検索しました。 約12,800件中1 - 10件目 ・検索にかかった時間0.09秒
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNG>>334の気が?
0337デフォルトの名無しさん
NGNGそもそも「アセンブリ」より「アセンブラ」の方が圧倒的に多いという罠があるからなぁ
>>333もいまひとつ納得できん
英語じゃどう表現してんのよ?
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGなるほど。つまりインラインアセンブラ/inline assemblerが多数派だと…
0340デフォルトの名無しさん
NGNG理由があるんじゃないの。某宗教関係とカブってたり
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNGあんた今日ここでは一番の輝き。
0343デフォルトの名無しさん
NGNG0344栄えある333ゲッター
NGNGごめん。英語は疎いのでパス。
つーかそんな細かいこと気にすんな。
ハッカーとヒッキーほどの違いはないだろ。
0345デフォルトの名無しさん
NGNG同異します。
0346デフォルトの名無しさん
NGNG{
free(Kou.lpNum);
}
アドレスを渡していない場合で,変数のポインタを開放したらどうなりますか?
0347デフォルトの名無しさん
NGNGたとえ構造体をポインタ渡ししても同じこと。
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG関数に,構造体をポインタで渡さない場合で,
その構造体のポインタ変数を開放しようとしたら出来ますか?
こういう場合,構造体は,ポインタで渡したほうがいいですか(ポインタ変数以外値を変える気がありません)?
0350デフォルトの名無しさん
NGNG構造体のアドレスを渡さなければ、元の構造体の内容を変えることができない、
て事はわかってるのか?
「構造体のポインタ変数」ってのは、メンバ(lpNum?)の事だよな
0351デフォルトの名無しさん
NGNGもっと具体的に書いてくれないとわからないよ。
0352デフォルトの名無しさん
NGNGポインタのような複雑な内容をもった構造体を、
そのまま引数で渡すって事自体、かなり異常だから、
たぶん考え方が完全に間違ってる
0353デフォルトの名無しさん
NGNGて事はわかってるのか?
わかります
「構造体のポインタ変数」ってのは、メンバ(lpNum?)の事だよな
そうです
0354デフォルトの名無しさん
NGNG文法はほぼ完璧になったのですが作りたいものが作れません。
そこで皆さんのアドバイスをいただきたく書き込みさせていただきました。
僕が作りたいと思っているものはTVの画面をリアルタイムで変更して表示を変えるというものです。
でもこれからなにを勉強していっていいかわかりません。
アドバイスをお願いします。
0355デフォルトの名無しさん
NGNGホントか?例えば、これ↓では、呼び出し側の構造体の lpNum にNULLが入らない。
void a( KOU Kou )
{
free(Kou.lpNum);
Kou.lpNum = NULL;
}
0356デフォルトの名無しさん
NGNGvoid a( KOU *pKou )
{
free(pKou->lpNum);
pKou->lpNum = NULL;
}
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNG> TVの画面をリアルタイムで変更して表示を変える
例えば?ビデオジョッキーみたいな?
0360デフォルトの名無しさん
NGNGおそらく、ビデオキャプチャのデバイスを叩くことになると思うので
お使いのOSの関連API群を調べたりサンプルを実行してみるといいでしょう
WindowsならVFWあるいはDirectShow
Linuxならv4l(video for linux)
MacならQuickTime? よく知らない...
などなど。画面への表示は書籍などをあたればよいと思います。
0361デフォルトの名無しさん
NGNGそれってC言語じゃないとできないのかな。もっとまともなツールがあるような気が。
まあアリモノではいろいろ制約があるだろうけど
0362デフォルトの名無しさん
NGNG> こういう場合,構造体は,ポインタで渡したほうがいいですか
どういう場合でも、普通、構造体はアドレス渡し。
内容を書き換えられたくなければ、引数を const で修飾。
0363デフォルトの名無しさん
NGNGint i;
} SUPER_INT;
036418
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGconst について誤解があるようですね。
0367デフォルトの名無しさん
NGNG呼び出された側では内容を書き換えるけど、
呼び出し元にそれを反映したくない時は
どうすればいいですか?
メンバを1つずつ仮引数に書き並べるべきですか、
それともアドレスで渡した後、呼び出された側で
複製すべきでしょうか?
0368デフォルトの名無しさん
NGNGchar *p;
...
}test;
t.p=malloc(....)
...
func(t);
...
func(struct test t)
{
free(t.p);
}
こういう場合はポインタ渡しでなくてもで解放される。
0369362
NGNGえっと思ってやってみたら、警告が出るだけ。。そうなのか。。ショボーン
struct foo {
int bar;
};
void inc_bar (const struct foo *p) {
p->bar++;
}
main () {
struct foo a = { 123 };
inc_bar (&a);
printf ("a.bar = %d\n", a.bar);
}
0371デフォルトの名無しさん
NGNG>>346-347で書かれた回答と どの辺が違うのかと 小一(略
0372362
NGNGどうだろうな。やっぱりアドレス渡しなら複製もできるわけだし、
自由度が高いと思うが。アドレスの幅がオーバーヘッドになるかもしれないし。。
とにかく、引数のサイズはバカでかくするべきではない。
>>368
それガイシュツ
0373362
NGNG○アドレスの幅がオーバーヘッドになるかもしれないが。。(大した事はないだろう)
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNGpushしておけ。
0376デフォルトの名無しさん
NGNGcaller:
type_hogera data1, data2;
data2 = data1;
modifier( &data2);
int modifier( type_hogera *tekito) {
tekito->hoge = ...;
return 0;
}
0377367
NGNGはあ?
>>370
マッ マジっすか?
>>372
参照渡ししてから複製するくらいなら
はじめから値渡しする方が一度の処理で済んで
効率的だと思うのは間違いですか?
>>375
pushとは構造体の値渡しのことを指しますか?
それとも仮引数を1つずつ書き並べることを指しますか?
それとも内容を一時退避して復元することを指しますか?
>>376
modifier側で複製せずにcaller側で複製する意図は何でしょう?
寿命はmodifier内で完結させた方が得策ではないでしょうか?
0378デフォルトの名無しさん
NGNG376 はネタ
0379デフォルトの名無しさん
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c2.html
0380367
NGNGありがとうございます。マターリ読んでみました。
ここの皆さんの回答は「何がなんでもアドレス渡し」でほぼ一致、
しかしリンク先の記述では
「構造体の値渡しを使うこともためらう必要はない」(ANSI C)
と書かれているように解釈しました。
一体どうすれば...
0381デフォルトの名無しさん
NGNGじゃいいんじゃない、ためらわなければ
というか本当は、実際に複製する必要があるのかどうか疑問だったりする
0382デフォルトの名無しさん
NGNGAという関数で,Bという関数を呼び出します
Bという関数には,引数として,値を渡します
Aという関数では,*を使ってBに引数を渡すんですが,
普通,引数渡すのに,*を使いませんよね?
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGA (Foo *foo_p) {
...
B (*foo_p);
...
}
B (Foo foo) {
...
}
まあ、ポインタに統一した方が美しい、とは言える罠
0386367
NGNGありがとうございました。
臨機応変ということでもよさそうですね。
> というか本当は、実際に複製する必要があるのかどうか疑問だったりする
たまにそういう場面に出くわします。
たとえば64ビットや128ビットの整数を扱う時などです。
(64ビットは拡張機能でサポートするコンパイラも多いみたいですね)
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGVB?
0389デフォルトの名無しさん
NGNG基本型の反語の意味で使ったんだが。
VBのユーザー定義型は参照渡しみたいだな。
0390デフォルトの名無しさん
NGNGずばり、あなたの言うユーザー定義型とは、「構造体」のことですな?
意味上ではtypedefが合っているけれど、実体がintとかdoubleだったら必要な時以外アドレスわたしなんてしないし・・・
0391デフォルトの名無しさん
NGNG?
0392デフォルトの名無しさん
NGNGというか、配列はどう頑張っても値渡しはできないのだが。
>>391
typedef unsigned char UBYTE;
UBYTE b;
とかしてるときにbを常にアドレス渡しするメリットはないわけで。
0393デフォルトの名無しさん
NGNG> 配列はどう頑張っても値渡しはできないのだが。
構造体に入れろ。
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGそうです
039660cm浮き上がるストレート
NGNG動く動かないがあるのなら、どなたか教えてください。
また何かが付属していないと動かないとかなら、
その付属品があるかないかの調べ方を、どなたか教えてください。
1、VisualC++6.0で作ったC言語のexeファイル
2、1のプログラムの中のエスケープシーケンス
3、1のプログラムの中のwindows.hによるDOS窓へのドット表示
4、1のプログラムの中のwinmm.libでの音楽
0397デフォルトの名無しさん
NGNGexeファイルがOSの壁乗り越えるならjavaは何ですか?
0398デフォルトの名無しさん
NGNGどうしたらいいのでしょうか。教えてくださいませ。
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNGVC6って書いてあるじゃん
040160cm浮き上がるストレート
NGNG僕のパソコンで作ったexeを別のパソコンで使った場合。
2は僕の知り合いの方のパソコンでやった場合、\x1b[3;3H
等がそのまま出てしまうらしいです。
0402デフォルトの名無しさん
NGNG列挙してください
0403デフォルトの名無しさん
NGNGANSI.SYS
0404デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/redistrib/
040560cm浮き上がるストレート
NGNGなるほど。ANSI.SYSがあることがエスケープシーケンス使用の
条件になるんですね。ありがとうございました。
http://www.nifty.ne.jp/forum/fpcu/dosvcmd/ansi.htm
ではexeをアップロードする場合ANSI.SYSがない場合
ゲームが正しく動作しませんみたいに書けばいいのですね。
0406デフォルトの名無しさん
NGNGそこに出てるうち、ANSIエスケープシーケンス(ANSI.SYS)以外の話は、
原則的にはこっちだ↓
http://pc3.2ch.net/test/read.cgi/tech/1022499000/l50
VisualC 相談室【8】
0407デフォルトの名無しさん
NGNGって言われたことあるけどそれはどうよ
0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNGアカデミーパックは学術用に安くしてるから
頒布を考えてるならスタンダートエディション以上を
買って下さいってその店員に言われましたが
0410409
NGNG0411デフォルトの名無しさん
NGNG間違えた。再頒布するアプリを作るときに何を買っていても
かまわないんじゃないだった。
0412デフォルトの名無しさん
NGNG.NETは知らないけど、6.0までのアカデミックは
再頒布しようが問題ない。
勿論有償のソフト開発でも。
0413デフォルトの名無しさん
NGNGだいたい、この記述と同じ↓
http://www.auemath.aichi-edu.ac.jp/teacher/iijima/qbforum/QB2VB.htm
DLL,OCXなど,どこまで配布可能なのか(2)
0415デフォルトの名無しさん
NGNGライセンス自体は各エディションに従います
0416デフォルトの名無しさん
NGNG407を読み間違えてた。
アカデミーパックのVC買うときに「作ったアプリの再頒布は駄目ですよ」
って言われたことあるけどそれはどうよ
ではなくて
「アカデミーパックのVC買うときに作ったアプリの再頒布は駄目ですよ」
って言われたことあるけどそれはどうよ
このように読んでしまってた。すまんです。
041760cm浮き上がるストレート
NGNGなんか必要なものがあるのでしょうか。
頒布のことについて書いてありますが、動作する以前に
権利のこととかについて書いているのですか?
0419デフォルトの名無しさん
NGNG俺はFreeBSD使ってるけど、そこでも動くようにしてくれ。
OSが違うだけだぞ。
0420デフォルトの名無しさん
NGNGそれ以上Visual C++の話を続けるなら、>>406に逝ってくれ
0421デフォルトの名無しさん
NGNGそうだったんだ・・・
じゃあ商売してもいいわけか。卒業したらだめだったりして・・・
0422デフォルトの名無しさん
NGNGある小さい会社の顧客管理システム。大丈夫かな。
0423デフォルトの名無しさん
NGNG今使っているんですが,
全部const char*に置き換えた方がいいですよね?
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGなんで?
0426デフォルトの名無しさん
NGNG大丈夫
>>423
使え
0427デフォルトの名無しさん
NGNGまずどんな本を買えばいい?
あ、今はC言語初心者。
0428デフォルトの名無しさん
NGNGなんで?
0429デフォルトの名無しさん
NGNG文字配列(というのか?文字列へのポインタかな)を渡して,
それ使って表示しています
0430デフォルトの名無しさん
NGNG使わない方がいいと思う根拠は何なの?
0431デフォルトの名無しさん
NGNGWindowsのAPIに渡す値なら、そこに指示された通りの型名を使え。
Windows特有の話題は余所でたのむ
0432デフォルトの名無しさん
NGNG今使っているんですが,
全部intに置き換えた方がいいですよね?
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNGenumでも#defineでもかまわんから使え。
0436デフォルトの名無しさん
NGNGtypedefなのでenumか#defineに直すべきでしょうか?
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNGc++でよく見るけど,Cでも使えるの?
0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNG_Boolってまたパッとしない型名だね。
過去の資源との互換性の問題があるからかな。
_Boolも別名を定義して使うのが主流になりそうな予感。
0441デフォルトの名無しさん
NGNGstructとenumはC++じゃないと使えないぞ
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG列挙
constはC++から流用(?)したんだっけ?
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0447デフォルトの名無しさん
NGNG0448438
NGNG0449デフォルトの名無しさん
NGNGおまえもネタだろ
0450デフォルトの名無しさん
NGNGC++でstruct使うことあるの?
classとはデフォルトのアクセスレベルが違うという程度でしょ?
0452デフォルトの名無しさん
NGNGあえて struct 使ってる。
0453デフォルトの名無しさん
NGNG# つーかスレ違いスマソ
>>451
typedef int bool;
とかやってた既存のコードを壊さないように、ということではないかなぁ。
「アンダーバー+大文字」で始まる名前は処理系側に予約されてるから、
_Boolならその危険が少ないので。
0454440
NGNGそれは440でも書いてるけど、
確かに現状ではC++との互換を意識して書かれている
コードなんて少数派だろうから、その通りだね。
CとC++を混同して考えない方がいいということか。
ありがとう。
0455デフォルトの名無しさん
NGNG最近知った。
どうしよう。当然の如く使っていたよ(おろおろ)
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNGどう考えても「おきかえ」だと思うんだけど?
0458デフォルトの名無しさん
NGNG理科でなんとか置換法なんてのがあって
そのとき先生は激しく「ちかん」と逝ってたのを思い出した
というか常識だろ
0459458
NGNG0461デフォルトの名無しさん
NGNG「ちかんしろ」とは言わないだろうがな(w
0462デフォルトの名無しさん
NGNG俺は使う。
・・・・おかしいか?
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNGchar buf[1024]
sprintf(buf, "%s%s", getenv("LOGNAME"), getenv("DISPLAY");
0468デフォルトの名無しさん
NGNGその前に、コンパイルエラーになるよ。
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471 ◆pavzJkL2
NGNG#include <stdio.h>
main()
{
int a[10]={59,20,504,69,333,98,246,352,111,423};
int b,max,min;
for(b=0;b<10;++b)
printf("%d ",a[b]);
printf("\n");
max=a[0];
min=a[0];
for(b=0;b<10;++b){
if(max<a[b])
max=a[b];
if(min>a[b]);
min=a[b];
}
printf("最大値=%d 最小値=%d\n",max,min);
return 0;
}
なんとなく違うのはわかるのですが、教えてください
0472デフォルトの名無しさん
NGNGreturn true;
else
retrun false;
と
if ( a == b )
return true;
retrun false;
は、コンパイラで最適化されちゃうような差ですか?
0473デフォルトの名無しさん
NGNG略
max = min = a[0];
for(b = 1 ; b < 10;b++) {
if(max < a[b])
max = a[b];
if(a[b] < min)
min = a[b];
}
0474デフォルトの名無しさん
NGNG自分のコンパイラでアセンブラして確認してください。
0475デフォルトの名無しさん
NGNG何故 return a == b; と書かないんだろう...。
0476デフォルトの名無しさん
NGNG0477471 ◆pavzJkL2
NGNGありがとうございます。即行で答え出ました
もうちょっと考えてみます
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG最大値より大きい時は、最小値との比較は不要だから...
if(max < a[b]){
max = a[b];
} else if(a[b] < min){
min = a[b];
}
とすると、ちょっと速くなるかも...。
0481デフォルトの名無しさん
NGNG書いただけではならない。
0482デフォルトの名無しさん
NGNGif(min>a[b]);
min=a[b];
セミコロンが余計
0483471 ◆pavzJkL2
NGNGあらー・・。ありがたう
0484というか
NGNGmin=a[b];
0485デフォルトの名無しさん
NGNGfor(〜;〜;++i)
と
for(〜;〜;i++)
が変わらない時があるのは何故ですか?
継続判定の前か後ろだから明らかに違うはずなのに
VC5はくそですか?
0486デフォルトの名無しさん
NGNGにおいて、f()の結果がaの値を変える場合、
加算されるaの値は変わる前と後のどちらになるかは
処理系依存でしょうか。
�@が
a = a + f()-�A
と同じであればaとf()の評価順は処理系依存だと
K&Rに書いてあるのですが、
�@と�Aは全く同じではなさそうですし、、
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNGどっちも同じ。
0490デフォルトの名無しさん
NGNG継続判定〜とか書いてた本のほうがくそだったんですね
ありがとう
0491デフォルトの名無しさん
NGNG文〜;
初期設定=>継続判定=>文=>増分=>継続判定=>文=>〜〜
の順でしょ?
0492デフォルトの名無しさん
NGNG初期設定=>増分=>継続判定=>文=>増分=>継続判定=>文=>
か
初期設定=>継続判定=>文=>増分=>継続判定=>文=>
となるって本に書いて(そう解釈させる文)あったんですが
0493デフォルトの名無しさん
NGNG(・∀・)ニヤニヤ
0494デフォルトの名無しさん
NGNGそれってさ、条件式の中に++、--を使った場合の事じゃないか?
for (i = 10; 0 < --i; ) と
for (i = 10; 0 < i--; ) の違いとか
0495デフォルトの名無しさん
NGNGそのころは工房っだったんで覚えてませんが
今その本捜してみます
0496デフォルトの名無しさん
NGNGunsigned i;
for (i = N; 0 <= --i; )
昔ハマった無限ループ・・・我ながらアフォであった
for (i = N; 0 < i--; )
やるならこれ↑かな?
0497デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG何いってんの?
0501デフォルトの名無しさん
NGNGvoid b(int *n);
aからbを呼び出す時に,そのまま渡したら,constつけろよと言われたので,うっかりしちゃったと思ってつけました
void b(int n);
だったら,文句言われない?
0502デフォルトの名無しさん
NGNGなにそれ。配列じゃないintをアドレス渡ししてたってこと?
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNGvoid a(int *n);にすればいいと思うが・・・
0505デフォルトの名無しさん
NGNGそうだったconstついてたんだ
ネタ?
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGどうしてもconstにしたいんだったら、呼び出し時にint *にキャストしろ。
しかしなんのためのconstなんだろ・・
0508デフォルトの名無しさん
NGNG思い入れのため。
0509デフォルトの名無しさん
NGNG#define const
0510デフォルトの名無しさん
NGNG全部の.cppファイルでインクルードするのって普通?
0511デフォルトの名無しさん
NGNG変数にexternつけてですね
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG"a\0b" と "a\0c" が一致するかしないか。
0514デフォルトの名無しさん
NGNG集めるほどグローバル変数を使わないのが普通。
0515デフォルトの名無しさん
NGNGstrncmpだと一致するけどmemcmpだと一致しないってこと?
0516デフォルトの名無しさん
NGNG聞いてばかりいないで自分で実際に確かめろ。
0517デフォルトの名無しさん
NGNG全然普通じゃない。スレ違い。
0519デフォルトの名無しさん
NGNGああなるほど...って、もっと嫌じゃん。
0520デフォルトの名無しさん
NGNGfor(i=1;i<=n;i++){
fprintf(fxy,"%f %f %f %f \n",a[i], b[i], c[i], d[i]);
}
みたいにして、a,b,c,dの値がそれぞれエクセルの別の枠に自動的に
入るようにしたいのですけど、どうすればいいでしょうか?
0521デフォルトの名無しさん
NGNGcsv形式?
0522デフォルトの名無しさん
NGNGカンマで区切って書き出して、
エクセルでCSV形式としてインポートすればいいよ
0523520
NGNGすみませんが、CSV形式というのが良く分からないのですが、
具体的にはどういう風にすれば良いのでしょう?
カンマで区切って書き出すというのが良く分かりませんので
お願いします。
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGchar *String;
char *stop;
stop = String + strlen( String );
strlenってint返すと思うけどこういうのはどういう意図なんすかね?
0527デフォルトの名無しさん
NGNGってやりたいんだろ。他に解釈しようもないと思うけど。
0528デフォルトの名無しさん
NGNGStringの指す文字列の終わりを示すヌル文字、
そのアドレスをstopに入れたいのだと思われ。
その用途は分かりかねるが。
0529デフォルトの名無しさん
NGNGベストだと思う方法を教えてください。
0530デフォルトの名無しさん
NGNGStringの終端文字(='\0')の位置を調べて、そのアドレスを stopに代入。
つまり、Stringの終了アドレスを求めていると。
0531デフォルトの名無しさん
NGNGC言語以外の言語を使うのがベスト。なんて答えじゃだめ?
0532デフォルトの名無しさん
NGNGBYTE_ORDER がdefine されているので, ソースで使えないのですが,
規格としては, 規格で定められているものをつぶさない限り,
処理系が独自のマクロを提供するのは自由, ということになっているのでしょうか.
0533デフォルトの名無しさん
NGNGchar *p;
p = String;
whille(p != '\0'){
/* … */
p++;
}
とかじゃ駄目なんだろうか…
0534デフォルトの名無しさん
NGNG後ろから3文字ごとにカンマを挿入するだけだろ。
0535デフォルトの名無しさん
NGNGだめ。だって
while (*p != '\0')
だも〜ん。
0537デフォルトの名無しさん
NGNG開始アドレスと終了アドレスを必要とするライブラリ関数に渡すつもりかもしれない。
0538デフォルトの名無しさん
NGNGそういう処理だと確かにポインタ演算が一番速いですね。
0539デフォルトの名無しさん
NGNG>528,530
わっかりました。でも、
strlen( String);である必要ってあるの?
~~~~~~~~~~~~~~~
ちなみに文字列置換する用途で検索してたら
こんなコードが多くあったもんで。
>533
たぶん。ポイントで終端アドレス知りたいんだとは思いますが。
0540529
NGNG整数を表示する際に、3桁毎にカンマ区切りを付けたいとします。
例えば 12345 なら 12,345 と。
それを行うのにベストな方法を教えてください。
単純な除算とstrrevを使った方法は知っているので、出来ればそれ以外を。
0541デフォルトの名無しさん
NGNGそうなのか?知らんかった。
0542デフォルトの名無しさん
NGNG0543539
NGNGあ。なんか分かった気がするので取り下げ
0545デフォルトの名無しさん
NGNG処理系独自のマクロ一覧がドキュメントに書いてあるはずだよ
ぶつかるのは仕方ないんじゃない
ENDIAN云々はglibcじゃなくてglibのような気もするが
0546デフォルトの名無しさん
NGNGベストって、なにを評価してベストなのか?
処理時間なのか、移植性なのか、コードの量なのか?
面倒だったらとりあえずprintfで何とかならないか調べろ。
0547デフォルトの名無しさん
NGNGBCCの場合、<stddef.h>から辿っていったところ
<_stddef.h>内にある
typedef unsighned int size_t
から、unsighned int
になるっぽいのかな?
コンパイルのオプションで変わるのかもしれんけど。
まあ環境に依存するということなんだろうか。
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNGうぇーん、またミスったみたい。
×unsighned
○unsigned
ですた。
もうだめぽ…
0551デフォルトの名無しさん
NGNGというスレを立てていいですか?
0552デフォルトの名無しさん
NGNGひとつのヘッダーファイルに関数のプロトタイプ宣言を集めて、
全部の.cファイルでインクルードするのって普通?
そのヘッダファイルを編集すると、全部の.cをmakeしなおさないと駄目になるような
気がするのですが。
0553デフォルトの名無しさん
NGNGサイズって自然数であるはずだけど不都合あった?
0554デフォルトの名無しさん
NGNG「厳密に言えば,size_t は符号なし整数値を作成する」
と書いてあったよ。
これはデータの意味を表す為に
型定義を行ったと考えるべきなんだろうかな。
0555デフォルトの名無しさん
NGNG同時に両方の範囲で関数のグラフを表示させることできますでしょうか?
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG同時に、って?
0558デフォルトの名無しさん
NGNG0559555
NGNG1<x<2,2<x<3のそれぞれの範囲のグラフを
両方表示するってことです。
0560デフォルトの名無しさん
NGNGええ、どうぞ表示してください。としか言いようがない。
C言語の仕様見れば出来るか出来ないかは自明だと思われ。
0561デフォルトの名無しさん
NGNGどうもありがとうございます.
ただ BIG_ENDIAN は BIG_ENDIAN だからなあ, 発想が貧しい私には
代わりのいい名前が思い浮かばん ...
0562デフォルトの名無しさん
NGNGそういう時は、プリフィックス付けれ
0563デフォルトの名無しさん
NGNGあまり普通では無いと思う。
ただ、コンパイル時間はあまり気にしなくていいと思うけど。
(1万行程度のコードなら数十秒でコンパイルできるし)
0564デフォルトの名無しさん
NGNGマクロ相手に意味ないのでは.
0565デフォルトの名無しさん
NGNG初耳だ!
0566デフォルトの名無しさん
NGNGなぜできないと思うの?
0567552
NGNGあ、やはり普通ではないのでしょうか(あまり、というのが少し気になりますが)。
こちら
ttp://www-watt.mech.eng.osaka-u.ac.jp/~tasai/kadai4/node6.html
に書かれているように、プロトタイプ宣言はヘッダファイルに書け、
というのを何度か見掛けたことがあったので、質問しました。
ただ、たしかに
ファイル間でプロトタイプ宣言に矛盾があっても、
ファイル毎にプロトタイプ宣言を直書きしてると
コンパイラは矛盾を見付けられないなぁ、
と、今ちょっと試してみて思いました。
こういうのが心配なときはヘッダファイルに書いちゃう方が良いんでしょうか…
0568デフォルトの名無しさん
NGNGあうち, 置換されなかった.
thx
0569デフォルトの名無しさん
NGNGモジュール毎に分けて、ヘッダでプロトタイプ宣言しる。
0570デフォルトの名無しさん
NGNG数十秒はかかりすぎー
0571555
NGNGできるなら、やり方教えてください。
0572デフォルトの名無しさん
NGNGいや、自分のPCだと10秒程度なんだけど、
もっと遅いマシンも現役かなと。開発用マシンなら特に。
0573デフォルトの名無しさん
NGNG「書籍も買えない貧乏人は麦を食え」ってことわざ知ってる?
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG点Aが直線mの右側にあると判定する最もよいアルゴリズムってどんなのですか。
0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNGどなたか>>486教えてください
お願いします
0578デフォルトの名無しさん
NGNG式の評価単位で同じ変数に二度代入が行われると
常に未定義か不定かだったと思う
0579デフォルトの名無しさん
NGNGアセンブラで書ければ理解できると思います。
この際、アセンブラに挑戦してみては?
多くの疑問が多々解決しますよ。
0580デフォルトの名無しさん
NGNGa = a+f() と同じさ。
0581デフォルトの名無しさん
NGNG答え: はい。
0582デフォルトの名無しさん
NGNG結局はコンパイラが同じにしちゃうんですよね。
0583デフォルトの名無しさん
NGNGint f() { ++a; return a; }
int g() { ++b; return b; }
main(){
a += f(); // 1
b = b+g(); // 2
}
1と2で結果が変わるかってこと?
多分未定義(コンパイラによって結果が変わる)
仮に定義されていたとして、こんな書き方はやめて
0584デフォルトの名無しさん
NGNG�@未定義。
�AE1=E1+E2とE1+=E2の違いは、後者はE1が一度だけ評価されるということのみ。
したがって、E1が副作用を持たなければ全く同じ。
いずれにしても評価順は不定。
0585デフォルトの名無しさん
NGNG「未定義」は「コンパイラによって結果が変わる」という意味ではないよ。
0586デフォルトの名無しさん
NGNGtypedef enum{
…
hoge
foo
bar
…
} hogehoge
とかいう構文の意味がわかりません!中のメンバの型宣言とか見当たんないし。
0587デフォルトの名無しさん
NGNGenumだよ・・・
0588デフォルトの名無しさん
NGNG未定義 == 定義されていない
コンパイラの製作者が独自の実装を行って良い。
という意味ではないのですか?
VCは、デバッグオプションでも変わるとかはナシですよ。
0589デフォルトの名無しさん
NGNGanonymous enumをその場でtypedefしてるだけ。
0590デフォルトの名無しさん
NGNGFILE *fp3;
fp3= fopen(Name,"r");
if (fp3 == NULL) {
printf("ファイルが開けませんでした");
exit (1);
}
どこか間違っているでしょうか?
どなたかご教授願います。
0591デフォルトの名無しさん
NGNGファイルがない。
Nameが指す文字列を確認しろ。
0592586
NGNG皆さん乙〜
0593デフォルトの名無しさん
NGNG未定義==言語仕様にない==動作保証なし
実装依存==正しく実行され処理系ごと結果が定義される
不定==正しく実行されるが結果が特定できない
0594デフォルトの名無しさん
NGNGファイル名を確認したらおかしな文字列が入っていました。
無事修正しました。
ありがとうございます。
0595デフォルトの名無しさん
NGNG平気な顔して機種依存文字使うアホです。無視するが吉。
0596デフォルトの名無しさん
NGNG実装依存==表示が英語と日本語で変わるかも
不定== printf("%d%d", rand(), rand() );
ってことですか?
じゃ、俺は不定といわなきゃならなかった訳だ
勉強になりました。
0597デフォルトの名無しさん
NGNG0599デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNGやっとenumの意味をしったトロい漏れ
0602デフォルトの名無しさん
NGNGこれでやっていることをCプログラマに分かるように説明してくれ。
$salt = substr(substr($key, 1, 2) . "H.", 0, 2);
$salt =~ tr/:;<=>?\@[\\]^_`/ABCDEFGabcdef/;
$salt =~ s/[^\.\/0-9A-Za-z]/\./g;
$trip = substr(crypt($key, $salt), -8);
0603デフォルトの名無しさん
NGNGハア?
0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNG(・∀・∀・)マァマァ、寛容な精神で。。。
0606デフォルトの名無しさん
NGNGの get_2ch_trip( const char * pw ) でも見とけ。
0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNGperl勉強汁。
cryptのkeyからsaltを作る
変換
置換
cryptから後ろ8文字を出す。
0609デフォルトの名無しさん
NGNG円周率ならここつかってね
0610デフォルトの名無しさん
NGNGえ?三点リーダって機種依存文字では無いと思うのですが…
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG1.文字列の最後に"H."を追加し(文字列が"Aホ"なら"AホH.")
2文字目と3文字目を取り出す(上の例なら"ホH")
2.下記にしたがって文字を置換
文字コード≦0x2d '.'
文字コード≦0x39 そのまま
文字コード≦0x40 コード+7
文字コード≦0x5a そのまま
文字コード≦0x60 コード+6
文字コード≦0x7a そのまま
文字コード≧0x7b '.'
(上の例なら".H")
3.作成したSltでCrypt文字列を作成し8文字を取り出す。
0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNGは,この範囲内にあるならという条件です。
この範囲外のときは,という条件の場合
if( !( x >= 0 && x <= SIZE_X && y >= 0 && y <= SIZE_Y) )
を使いますか?
それとも4つの条件が否定になるように書いていきますか?
4つの条件が否定になるように書くと,全部の条件を調べなくてもよくなりますが(場合によって),
可読性が悪くなりますよね(コメントで補えますけど)
0615デフォルトの名無しさん
NGNGif( x >= 0 && x <= SIZE_X && y >= 0 && y <= SIZE_Y )
;
else{
,,,
}
と書く香具師もいるな。
0616デフォルトの名無しさん
NGNG可読性>マクロ使えばすむ話
0617デフォルトの名無しさん
NGNG特に可読性が損なわれるとは思わないけどなぁ。
0618デフォルトの名無しさん
NGNG俺はこう書く
( 0 <= x && x <= SIZE_X ) && ( 0 <= y && y <= SIZE_Y )
否定の場合は状況によるが
!(( 0 <= x && x <= SIZE_X ) && ( 0 <= y && y <= SIZE_Y ))
こんな感じかな。好き好きだからどう書いてもいいじゃない?
0619デフォルトの名無しさん
NGNG一つだけ見てもわからん。
書き比べてみろ。
0620デフォルトの名無しさん
NGNGif(x/SIZE_x==0 && y_SIZE_y==0)でも可。
if(x/SIZE_x!=0 || y_SIZE_y!=0)逆
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG???
0623デフォルトの名無しさん
NGNGelseはどう置くよ?
0626デフォルトの名無しさん
NGNGx=-1
SIZE_X=2
の場合は?
0627デフォルトの名無しさん
NGNGunlessという関数だと見間違う可能性があるので却下。
0628デフォルトの名無しさん
NGNG少なくともperlではunlessにもelseが置ける。
よって混乱する可能性大
0629デフォルトの名無しさん
NGNGってのはボツなのか?
unsignedの部分は適当な符号無しキャストに
読み換えてくれたまへ。
0630629
NGNG0631デフォルトの名無しさん
NGNG視認性という観点から却下。
0632デフォルトの名無しさん
NGNG車の運転? (ププッ
0633デフォルトの名無しさん
NGNGインターネット上のサイトなどありませんでしょうか?
0634デフォルトの名無しさん
NGNG視認性の重要さをわかってないと言うことは、まだまだ厨ですな(W
0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNGまず、環境を書け。
0637デフォルトの名無しさん
NGNGスタンダードな方法でお願いします!
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGネタじゃないっす。ちなみに637は私ではないです。
>>636
WIN32で結構です。
というか参考書とかに体系的にこのあたりが解説されてるのがなくて、、、
よろしくお願いします。
0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNGプッ
> まだまだ厨ですな(W
ププッ
スレ違い。蛍光色の服でも着てろ。
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNG関数ポインタに付いてよく読めばわかるんじゃない?
0644デフォルトの名無しさん
NGNGマジレスしてやる。一番ためになるサイトはここ。
http://pc3.2ch.net/test/read.cgi/tech/1028580373/l50
そういう類の質問では最初から環境をかけ。
そしてスレが違うことに気づけ。以後は無視する。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGありがとうございます。逝ってきます。
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG>ププッ
0650デフォルトの名無しさん
NGNGexit(1);}
バイナリモードでファイルから21ビットという半端なビット数を収得した後、
24ビットに変換して格納という動作を繰り返したいのですが、
sizeof(double)の部分はどのように変えたらよいのでしょうか?
どなたかご教授願います。
0651デフォルトの名無しさん
NGNGそれ用の関数群を作るのが簡単かな
0652デフォルトの名無しさん
NGNGBSDライセンスが良いです。
てか、何故に標準ライブラリに入らない。BCD演算。
0653デフォルトの名無しさん
NGNG作ってる奴らが興味ないから。
0654デフォルトの名無しさん
NGNGだよね〜。。。
作れる奴は簡単に作る。作れない奴はまたったく駄目(俺)。
事務アプリ屋が、泣いてるぞ―――。
IntelのCPUには、BCD演算機まで付いてるのにdubleで演算して適当な
ところで四捨五入は悲しすぎると思う。
だれか、俺に作り方教えてくれーー。
できれば、IntelのBCD演算機使いたい。
0655デフォルトの名無しさん
NGNG演算モード変えれ
0656デフォルトの名無しさん
NGNGもちっと詳しく。しくしく。馬鹿だから俺。
0657デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNGなんとなく仮面ライダー
0659デフォルトの名無しさん
NGNGよくわからない。
型の相互変換だけじゃだめなのかな?
0660デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNGいやね、float型だと丸め誤差とか考えなきゃいかんでしょ。
下手すると金利計算とかヤヴァイ事になっちゃうからね。
0663659
NGNG2進整数を固定小数点数として扱うのじゃいけないん
でしょうか?
やっぱり俺、逝くべきでしょうか。
0664デフォルトの名無しさん
NGNG思うのですが、間違ってる?
BCDでも、結局一番下の桁より下は丸めを行わないといけないし。
0665デフォルトの名無しさん
NGNG3.5が3.5で保持できるなら
0666デフォルトの名無しさん
NGNGじゃあ、2進数で0.1(D)を表現してみて。
0.25(D) → 0.01(B)
こんな感じで。
0667デフォルトの名無しさん
NGNGCで多倍長整数演算ルーチン書いたより速くなるのかな?
俺も検証したことはないけど、なんとなくCPUのBCD演算命令は
遅そうなイメージがある。
0668659
NGNG10000
くらいでいかがでしょう?
0669デフォルトの名無しさん
NGNG(゚∀゚)だからそこは精度と速度のトレードオフかと。
0670デフォルトの名無しさん
NGNG……(^^;
0671659
NGNGやっぱり俺は逝くべきなんですね。
要するに小数点以下の桁数をあらかじめ決めておく
(または構造体にして精度も変数で持っておく)
というありきたりな考えなんですが...
0672デフォルトの名無しさん
NGNG多倍長整数演算だったら、BCDと精度は変わらないでしょう。
0673
NGNGテキストボックスで1とか2とか数値がはいってるのですが
メモリではどういう形式で格納されてるのでしょうか?
&h01 とかではないと思うのですが教えてもらえないでしょうか?
文字コード 1のアスキーコードが49 それのEBCDICで&hC9かなと思ったのですが
あってるでしょうか?
0674デフォルトの名無しさん
NGNGスレ違い。
0675デフォルトの名無しさん
NGNGWinならアスキーだよ。
ありがとうございました
おかげさまで解決しました
0677デフォルトの名無しさん
NGNG>>663
じゃあ、2進数で0.1(D)を表現してみて。
668 :659 :02/09/17 14:12
>666
10000
くらいでいかがでしょう?
671 :659 :02/09/17 14:23
>>670
やっぱり俺は逝くべきなんですね。
要するに小数点以下の桁数をあらかじめ決めておく
??何がしたいんだ??
何か勘違いをしていないか
それとも確信犯で特殊な乗数を使っているのか?
0678デフォルトの名無しさん
NGNGまあまあ、マターリいこうよ。
>>659
2進数の少数部分の表し方は分かっている?
それともネタ?
0680659
NGNG扱うのではまずいのか?
ということなんですが。
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNG>少数部分という言葉自体が初耳です。
面白い!!もちろん喧嘩売ってるんだよね!
0683デフォルトの名無しさん
NGNG猫でもわかるプログラミングというサイトを見たのですが、
さっぱりです。難しすぎる。
0684デフォルトの名無しさん
NGNG0.1(10)と10000(2)は160倍(10100000(2))倍違うわけだから
単なるシフトにはならないYO!!
0685デフォルトの名無しさん
NGNG猫でもわかるは、よく初心者にすすめられるけど、実際は
ある程度わかってる人間がサンプル集として使うのが正解だと思う。
0686デフォルトの名無しさん
NGNGマジレスさせてもらうと・・・
他のプログラミング言語を勉強して使えるようになった物ある?
まったくプログラムしたことないなら、他の言語を勉強してみると良い。
それからC言語を勉強すると、結構理解できたりする。
簡単なのだと、PerlとかHSPとか。
ちなみに、俺は初めて言語を勉強したのはPerlですた。
0687659
NGNGいえ、そんな気はありませんし、こんなところで
喧嘩しても何の得にもならないと思います。
少数部分というのは小数部分で良かったんでしょうか。
それなら多分わかると思います。
お気にさわったようですみません。
>>684
私が書いたのは十進表記での 10000 のことです。
つまり16進で表すなら 2710
2進で表すなら 10011100010000 です。
0688デフォルトの名無しさん
NGNGケチらずに本を買ったほうがいい。
0689デフォルトの名無しさん
NGNGとりあえず、こんなんでどうかな?
http://tele00.suzuka-u.ac.jp/!education/1998/Part2/root/Root/1computer/13infomotion/kisuhou/syousu.htm
0690デフォルトの名無しさん
NGNGPerlはどうなんだろ・・・
自分、学生なんだけどC、Javaとかのほうが周りでやってる人いるし
入門書とかも豊富なCとかの方がいいような
基本的な制御構文使ってやるプログラムだったら、特にむずかしいこと
なかったよ
0691デフォルトの名無しさん
NGNGだよね。
FAQなら役立つのが>>1にあるんだけど。
Cなら図書館にもよい本があるかな?Javaのように比較的新しい言語だと最近の本が置かれていなくてだめだけど。
0692デフォルトの名無しさん
NGNGPerlは、すげー楽だぞ〜。
$を文字の先頭におくだけで変数になるし、
変数の型ないから、文字入れても数字入れてもいいし、
変数は、何もしなくても可変長だし。
まず掲示板作って喜ぶ。
もうちょっと勉強してライブラリとか使えるようになったら、
ダウンローダーとか作って喜ぶ。
そして、コマンドラインが好きになってくる(w
それからCを勉強してもいいと思うけど。
なぜか、嫌われてるけどねー。PerlとかルビーとかHSPとか。
0693659
NGNGありがとうございます。
読んでみましたがそれは一般に用いられている
浮動小数点形式の考え方ではないでしょうか?
この考え方についてはわかっているつもりです。
そうでなく、整数を固定小数点で扱うわけにはいかないの?
ということなんですが。
0694デフォルトの名無しさん
NGNG×少数
○小数
人が変換ミスしたからって揚げ足取らない(^^;
0695659
NGNG0696デフォルトの名無しさん
NGNG>整数を固定小数点で扱う
だからBCD演算を使用するって事でしょう(^^;
0697デフォルトの名無しさん
NGNG普通固定小数点を使うときは小数点のシフトだけですむような
倍数で使う。
0698659
NGNGありがとうございます。
やっぱり多分自分がわかってないと思うので、
BCDについて勉強してから出直したいと思います。
このまんまじゃ荒らし同然なので。
BCDって2進化10進法のことで合ってますよね?
0699デフォルトの名無しさん
NGNGBCDってなにかと思ったらあれのことか・・・
拡張2進化10進符号のEBCDICなら知っている。
0700デフォルトの名無しさん
NGNGえびしでぃっくなんて読まないでください。
0702デフォルトの名無しさん
NGNG・正負のフラグ
・必要なだけの桁と対応する数値データ
・小数点の位置を示すデータ
以上を構造体にすると。
0703デフォルトの名無しさん
NGNG加減はともかく乗除のコストが莫大になる
だから少なくともIntelのCPUですることではない
それからBCDを使うのは十進精度で切り出せるからで
この話とはあまり関係ない
0704659
NGNGありがとうございます。
> それからBCDを使うのは十進精度で切り出せるからで
> この話とはあまり関係ない
この辺がよくわかってないんだと思います。
では逝ってきます。
0705デフォルトの名無しさん
NGNGおれは
N88-Basic → HTML → JavaScript → Perl(CGI) → C(現在進行形)
N88-Basic以外は
webでCGIなどとして使えるというw
0706デフォルトの名無しさん
NGNGしかしマスターはできていない罠w
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG実際にやってみろ。
0710デフォルトの名無しさん
NGNG解っていないやつばかりだな。
0711デフォルトの名無しさん
NGNG> スタックを使うことによるコスト
キャッシュミスヒットによるコストが解っていない人よりましだろう。
0712デフォルトの名無しさん
NGNGint main(void){return 0}/*はやい*/
int main(void){return main();}/*おわらない*/
0713デフォルトの名無しさん
NGNG> 解っていないやつばかりだな。
プッ
笑えるネタGet!!
0714デフォルトの名無しさん
NGNGここにいるヤシらのつくるものなら、そこまで気にする必要は無い。
0715デフォルトの名無しさん
NGNG> スタックを使うことによるコスト
( ´,_ゝ`)プッ
0716デフォルトの名無しさん
NGNGジジイかお前ら…
0717デフォルトの名無しさん
NGNG{
char Data[20][4]={
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4},
{1,2,3,4}
・・・
}
のように関数の初めに初期化している?
大きすぎると,内部変数ではあかんみたいだけど,これぐらいのおおきさでは?
行が増えて見づらいしね。
}
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNGじゃあもう自動変数も関数も使わないことにします。
0720デフォルトの名無しさん
NGNG> 大きすぎると,内部変数ではあかんみたいだけど
そういう場合は関数の外にだしてstaticで修飾しろ、
static変数ならばファイル内でのみ参照でき、別ファイルからでは見えない。
変更してはいけないテーブルならば、おまけにconstも付けとけ
あとは内部変数と重なるような一般的な名前は避けるようにしとけばOK
static const char Data[][4]={
{1,2,3,4},
(略)
{1,2,3,4},
};
void a( void )
{
...
}
0721デフォルトの名無しさん
NGNGchar Data[20][4];
for(j=0; j<20; j++)
for(i=0; i<4; i++)
Data[j][i]=i+1;
で良いじゃ〜んと、少し本質からずれていそうなところを突っ込んでみる。
0722デフォルトの名無しさん
NGNGなんか変な気分
0723デフォルトの名無しさん
NGNGMakeファイルをどのように修正したらいいかわからなくて困っています
助けてきぼんぬ
使ってるのは、Oracle for Linux9i 付属の demo_proc.mk を使っています・・・
Makefileてか、Makefaileだなこりゃ。。。鬱
0724デフォルトの名無しさん
NGNG標準的ですか? (BCCのmakeの独自拡張?)
0725デフォルトの名無しさん
NGNGfileout < ~/.cshrc
というコマンドの出力結果が
grep ^# < ~/.cshrcの出力結果と同じになるようなプログラム.
を作りたいんですが、今一つ分かりません。誰か教えてください…。
0726デフォルトの名無しさん
NGNG一文字ずつ読み込んで、初めの一文字か改行文字の後に読み込んだ文字が'#'だったら改行文字まで表示すれば?
0727デフォルトの名無しさん
NGNGfgets で一行づつ読み込むのも手ですね。
テキストファイルが前提ですが
0728725
NGNG0729デフォルトの名無しさん
NGNGchar buf[BUFSIZ];
while(fgets(buf, sizeof buf, stdin) != NULL)
if(buf[0] == '#')
fputs(buf, stdout);
0730デフォルトの名無しさん
NGNGって感じにダブルクォーテーションで囲まれてる部分を
#define MUNE MOMIMOMI
で痴漢したいんだけど、これは無理だよね。
でもどうしても実現したいときはどうすればいいかな?
0731デフォルトの名無しさん
NGNGperl, sed, 手持ちのエディタの置換処理
どれでも好きな物を使え
0732デフォルトの名無しさん
NGNG> そういう場合は関数の外にだして
なんでわざわざ出すの?
0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNGごめん
本当は,座標とかランダムにはいっ取ります
0735デフォルトの名無しさん
NGNG関数ってあるんですか?
数字のみ判定させたいのですがそこに文字を入れると暴走が
はじまっちゃうんですよね。
ご教授願います。
0736デフォルトの名無しさん
NGNGスレの削除依頼はちゃんとだした?
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNGなんでとわ?
0741デフォルトの名無しさん
NGNGだって、マッチングの誤りなら結果でないだけでしょ
終了条件書かなかったんじゃないかな!=NULL
0742デフォルトの名無しさん
NGNG詳しく書くとswitch使ったときにcase1から4までとdefaultつくって
そのとき入力したものが数字ではなく文字だった場合に暴走が始まる。
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNG>>734
はい、それは何となくわかりますが、突っ込んで見ました。
以下の様に1行にいくつか書いても良いとは思うのですが、
他の方々はどうなのでしょうか?
void a( void ){
char Data[20][4]={
{1,2,3,4},{1,3,6,4},{2,2,9,4},{5,2,3,8},
{3,2,8,4},{0,2,3,9},{3,8,3,4},{7,2,6,4},
{1,4,3,1},{1,7,2,4},{3,2,3,1},{5,2,3,9},
・・・
}
0746デフォルトの名無しさん
NGNG外部ファイルに持たせて実行時に読み込ませるか、データの定義だけ
入ったヘッダファイル作る(or 自動生成)かどちらかにしてる。
関数内にデータ定義入れるとメンテナンス大変そうだし。
0747デフォルトの名無しさん
NGNGchar buf[BUFSIZ];
printf("char Data[20][4]={\n");
while(fgets(buf, sizeof buf, stdin) != NULL) {
buf[strlen(buf) - 1] = '\0'; // '\n'を取っ払う処理
printf("{%s},\n", buf);
}
printf("};\n");
ほれ、4×20の数値データのみからなるcsvから2次元配列を作るソースだ
ファイルに入出力をしない理由はパイプを使ってgrep, sortなどの
他のツール群とも併用できるためだ。
決してファイルのopen/closeが面倒な上にエラーチェックしないとマズイなぁとか
ファイル名をコマンド引数で渡すと引数チェックもしなきゃいけないとか
だったらそんな処理はしないことにしようとか思ってサボってるわけではない。
0748デフォルトの名無しさん
NGNG747のコードでさえエラーチェックをサボってるくらいだから
どっちでも変わらん罠。
0749デフォルトの名無しさん
NGNG無限ループするのは何で?
0750デフォルトの名無しさん
NGNGunsigned intは 0未満の値をとらない。
0751デフォルトの名無しさん
NGNG本の例題等でよく見る文です。
void TestStrStr(void)
{
char *s1 = "abcdef";
char *s2 = "de";
char *cp;
cp = StrStr(s1, s2);
printf("'%s'の中に現れる'%s'という文字列は%d文字目にある.\n", s1, s2, cp - s1 + 1);
}
strstr()が該当する文字列の先頭部分のポインタを返すのはわかるのですが、
一番最後の「cp - s1 + 1」を実行すると、s1の中のs2部分が何文字目から始まるかが
わかるのは何ででしょうか?
アドレスが格納されたcpから、s1を引いて1を足すことに何の意味があるのか。
かなりヘボヘボな質問ですが、うまく理解できずにもどかしい思いをしております。
0752デフォルトの名無しさん
NGNGabcdef
012345
de
34
3-0+1=4
0753デフォルトの名無しさん
NGNGアドレス同士で引き算できるって事を理解してないんじゃないの?
同じ型どうしのアドレスからアドレスを引くと、何要素分離れているかという意味になる。
0754デフォルトの名無しさん
NGNG逆にstruct tm型をtime_t型に変換する関数ってあるんでしょうか。
日付を手動で入力してtime_t型に入れたいんです。
0755デフォルトの名無しさん
NGNGつーか、time.hを読めばあたりがつけられるだろうが。
なぜしない?
0756この板始まって以来の房
NGNGVC++で動く「主成分分析」プログラムをうpしれ!
ソース丸ごとキボンヌ!
俺の会社員現役の姿を見続けていたいでしょ?
やべーよあと期限三日でクビだよ!(たぶん)
たすけて〜
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNGありがとうございます。
そうか、hファイルを読むという方法もあったんですね。
今度困ったらやってみようと思います。
0759デフォルトの名無しさん
NGNG正規表現で置換しろ
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNG警察署の前でおまいの気持ちを性器で表現して来い
0762デフォルトの名無しさん
NGNG0763756
NGNGなんとかできたぜい。
首がつながったよ。
あと半年はねばれるかな
0764デフォルトの名無しさん
NGNG>>496-497
0765デフォルトの名無しさん
NGNGC言語からUNIXコマンドを使用したい場合はどうすればいいのでしょう?
ちなみに、いまファイル添付をし、メール配送しようとしているのですが
Cではどのようにするのがベストなのでしょうか。。。
0766デフォルトの名無しさん
NGNGUNIXコマンドを起動するのは system関数。
メイル云々は別プログラムにやってもらったほうが楽だと思う。
(どのプログラムがいいかはよく知らないけど)
0767デフォルトの名無しさん
NGNGUNIXならpopenがいいかも?
0768デフォルトの名無しさん
NGNGその別プログラムってのがUNIXコマンドじゃないの?
0769765
NGNGメールなのですが、コマンドでできれば1番いいと思うのですが
コマンドがわかりません。。。
もうスレ違いですね。すみません。
ありがとうございました。
0770デフォルトの名無しさん
NGNG0771765
NGNGsendmailは、suしなくてもできるんでしょうか。。。
0773初心者
NGNG{
unsigned int x=-1;
printf("%d\n",x);
printf("%u\n",x);
}
結果
-1
4294967295
main()
{
int x=-1;
printf("%d\n",x);
printf("%u\n",x);
}
結果
-1
4294967295
これだったら
unsigned
の意味がよくわからないのですが
だれか教えてください
0774デフォルトの名無しさん
NGNGx/2 とかやってみたら違いが分かると思うよ。
0775デフォルトの名無しさん
NGNGもう一度、初心者本からやり直した方がいいよ。
・この場合、unisgned を付けても付けなくても、x のビットパターン(内部表現)は同じ。
・printfの%d,%uは変数の型は見ない。
・if(x<0)で比べてみな
0776初心者
NGNGx>>1
とかやったらもう全然意味が分からない
一貫性がないというかモヤモヤしたかんじ
詳しい説明があるサイトとかないですかね?
0778初心者
NGNGありがとうございます
見ます
0779デフォルトの名無しさん
NGNGとかにある
%っていうもののあとにある
d,x,o,gとか色々ありますが
それの一覧みたいなのが
あるサイトとかないですかね?
%gってなんだろう
0780デフォルトの名無しさん
NGNG%g は %f の代わりによく使う、小数点以下の余計なゼロの割愛
0781デフォルトの名無しさん
NGNGhttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/printf.3.html
0782デフォルトの名無しさん
NGNGおーどーもありがとうございます
0783デフォルトの名無しさん
NGNGhttp://www.google.com/search?hl=ja&inlang=ja&ie=Shift_JIS&q=%83f%83%94%83@%83b%83O&lr=
0784デフォルトの名無しさん
NGNG> C言語は、(中略)AT&Tベル研究所のカーニハンとリッチーによって開発された
??????
開発したのはリッチーだけですよね?
0785デフォルトの名無しさん
NGNGしまった。元のメモリー領域のサイズを得るすべがない(;´Д`)
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG> mallocやfreeは俺の能力じゃ作れないから
K&Rに実装例が載っている。
0788デフォルトの名無しさん
NGNGtest = (p->data);とtestに値を代入した時に
Answer = 0xAAAAA << 2;のような
シフト演算や足し算をtestに大してすることはできないのでしょうか?
0789デフォルトの名無しさん
NGNGtestとかp->dataの型は?
0790デフォルトの名無しさん
NGNGfreadで文字列をバッファに読みこんでいるように見えますが。
0792デフォルトの名無しさん
NGNG8?QWORD?
0793デフォルトの名無しさん
NGNG文字列ならば文字列->値変換してね
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNGg_を関数の前につけようかと思っているのですが
あと,ファイルないで使う場合は,何もつけないでしょうか?関数の前にm_とつけているのでしょうか?
現場の方よろしくお願いします
0797デフォルトの名無しさん
NGNG1.cpp static int n1;
2.cpp static int n2;
として,
ふたつのファイルからしか呼ばない場合はグローバルで渡さず引数で渡そうと思うのですが,
同じ関数に渡す引数を違う箇所で2つ宣言し,渡すのっておかしいですか?
0798デフォルトの名無しさん
NGNGモジュール化してるときには外部に公開する関数は先頭にモジュール名
つけるくらいかな。モジュール内だけで使う関数には特に何も付けない
けど、static宣言しておく。
0799デフォルトの名無しさん
NGNGプログラムの構造がおかしいかも
0800デフォルトの名無しさん
NGNG同じ関数を使うって意味で,
same.cppにしてるんですが,
sameAddとかカッコイイですかね?
0801デフォルトの名無しさん
NGNG同じ関数を使うからとかいう理由でネーミングするセンスは修正
したほうがいい。なるべく機能ベースでネーミングする。
特にまとまった機能がない関数群なら、utility.cとか misc.cと
かいう名前でまとめておけばいいかと。
0802800
NGNG0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNGこないだはcursolって書いた香具師もいたが
0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG俺も威張れやせんが、厨房英語も程々にしとけ
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNGWinMainの方がよくない?
つーかmain関数を使っているなら,分割していないってこと?
DOS?
0814デフォルトの名無しさん
NGNGUNIX系OSは考慮外ですか…(涙
0815デフォルトの名無しさん
NGNG( ´,_ゝ`) プッ
0816813
NGNG0817デフォルトの名無しさん
NGNG( ´,_ゝ`) プッ
0818名無しさん@Emacs
NGNG>>815
厨学生はそっとしておいてあげなよ。
0819デフォルトの名無しさん
NGNGやっやめろ、はらわたがよじれる〜。
0820813
NGNG0821デフォルトの名無しさん
NGNGまあゆっくりしてけ
0822デフォルトの名無しさん
NGNGまあゆっくり氏んでいけ
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG写真のように出力することです。
いまCodeWarrior7をMacで使っていて、簡単な例プログラムを試しに
動かそうとしたら、"graph.h"が見つかりません と出てしまいます。
Cの問題というよりCodeWarriorの問題のような気もするんですが全く分からず
困っています。誰か分かる方教えて下さい。おながいします。
0826デフォルトの名無しさん
NGNGグラフィック用の関数、全部置き換えて、
#include <graph.h>
を外せ。
0827デフォルトの名無しさん
NGNGそもそも、その例プログラムは Mac用なのか?
0828825
NGNGとりあえず例プログラムはこんな感じです。
#include <stdio.h>
#include <graph.h>
void main ()
{
_setvideomode(_98RESCOLOR);
_setcolor(6);
_setpixel(100,100);
getchar();
_clearscreen(_GCLEARGRAPH);
_setvideomode(_DEFAULTMODE);
}
グラフィック用の関数を全部置き換えるというのはどのようにすれば
いいんでしょうか?何に置き換えればいいのかがわからないんですが・・・
Mac用でないとだめなんですか?CodeWarrior上でつくってCodeWarrior上で
動かしているんですが。
0829デフォルトの名無しさん
NGNGそれはPC98用のTurboCのコードなんじゃないの?
0830825
NGNG本屋で調べたとき、graph.hが普通にでてきていたので、Cの標準的な
ものかなー?と思ってしまったわけです。
CodeWarriorに似たようなgraphとかつくようなものをハードディスクから
探したんですが、それらしいものが見当たらなくて分かりません。
CD-ROM上のマニュアルにも見つからない状態です。
0831デフォルトの名無しさん
NGNGMacのサンプルを探してください、私は林檎はサパーリ
0832デフォルトの名無しさん
NGNGディレクトリを扱うための関数すらないくらいだし。
汎用言語だからしかたないか。
0833デフォルトの名無しさん
NGNGいまどきQuickCの本が売ってあるのか…
ちょっとビクーリ。
Mac&CodeWarrior用の本を見つけて、それ買ってくださいです。
0834825
NGNGという本です。
昨日、八重洲ブックセンターに行ってMacとCodeWarriorの本を探したんですが
1冊出てきたものでも、欲しい内容がありませんでした。
0835デフォルトの名無しさん
NGNGそろそろスレ違いだから他スレに行ってね。
なければ立てればいい。
0836デフォルトの名無しさん
NGNGそもそも、Mac(OS9まで)では標準入出力という概念すらない世界なの
で(CodeWarriorにはそれをエミュレートするライブラリがあるけど)、
DOS/UNIX系の書籍はほぼ役に立たないと思っていいです。
0837825
NGNG0838ななしさん♪
NGNGhttp://www8.big.or.jp/~000/CyberSyndrome/rsa/rsa2.html
ここを見て、Cでプログラム組んでたのですが、
1=de mod φ(n)となるd(秘密指数)を計算する
この部分でつまずいています。。。
eとφ(n)はもう知っているのですが、dを出す方法がわかりません。
どなたか教えてくださいなヽ(゚▽、゚)ノ
0839デフォルトの名無しさん
NGNG理解する必要はありません)を用いて秘密指数dを計算します。 つまり,
e^-1=d mod φ(n) のdを計算して求めます。
d=3988493
となります。つまり,秘密鍵(d,n)は(3988493,5621977)となります。
0840マイクロシステムズ
NGNG0841839
NGNGd=3988493
となります。つまり,秘密鍵(d,n)は(3988493,5621977)となります。
これよく考えると無理じゃないですか?
e^-1って1/eで、eは6万くらいだから、すごい小さいかずになっちゃいますよ・・・
0842デフォルトの名無しさん
NGNG0843839
NGNGなんなんだよあんたw>842
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850848
NGNG0851デフォルトの名無しさん
NGNG関数内にstaticを作るとマルチスレッドに対応できない
0852デフォルトの名無しさん
NGNGマルチスレッドまだ勉強してないので,そん時は手直しするかな。他のところでも使ってるし。
0853デフォルトの名無しさん
NGNGそれは迷信。
すべてのケースで使えないわけでもない
0854デフォルトの名無しさん
NGNGというか、再帰関数ならマルチスレッドでなくても
staticが問題になる可能性があることはわかってるのか?
0855デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNGそれでもあかんですか?
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNGなにが死体んだ?
0860デフォルトの名無しさん
NGNG目的を果たせていれば別にそれでいいんじゃないの?
0861デフォルトの名無しさん
NGNGどういうこと?
0862デフォルトの名無しさん
NGNGこれを見る限り、bsearchは必ずバイナリサーチで実装することとなっているみたいですが、
規格上もそうなっていますか?
整列した配列から探索するのでバイナリサーチ以外の探索法を使う人はいないと思いますが。
0863デフォルトの名無しさん
NGNG再帰の場合の「1回だけ」とstatic変数の意味は
ちゃんと分かって実装しているんだよな?
もしそうだとしたら、シングルスレッドでは
別に問題ないぞ、ボケナス。
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNGISO/IEC 9899には"binary search"という言葉は出てこない。
0867デフォルトの名無しさん
NGNGまた、出来るとして、CとC++で方法/挙動が違ったりしますか?
0868デフォルトの名無しさん
NGNGできます。しません。
0869デフォルトの名無しさん
NGNGてきとーにやりまくれ
int (*func)(int hage);
int hogera( int hage) { printf( "gora %d\n", hage); return 0; }
int gora = 100;
func = hogera;
func( gora);
C/C++ を混ぜるときは extern "C" を忘れずに
0870デフォルトの名無しさん
NGNG??? >>518 と何が違うんだ ?
0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNGスタックエリアは空になるよ。
再起 = 再起動の略だろ ?
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNGn=0;
m=n+++n;
printf("%d",m);
で、0が出力されました。
n=0;
m=(n++)+n;
printf("%d",m);
で、0が出力されました。
n=0;
m=n+(++n);
printf("%d",m);
で、2が出力されました。
0876デフォルトの名無しさん
NGNGあ、というか、++と+の優先順位から考えたら当然のことで
聞くまでもないしましてや実験するまでもなかったですね。
ほんとうに全く意味の無い実験をさせてしまいすみません。
0877デフォルトの名無しさん
NGNGお前等、いいかげん C-FAQ ぐらい読めよ。
ttp://www.catnet.ne.jp/kouno/c_faq/c3.html#0
結果は、「未定義」だぞ。
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGあの・・・わかってますか?
i++が同一行内の複数の式にあれば その動作は未定ですけど
同一の式内に複数あるときはその動作は一意に決定されますよ。
0880デフォルトの名無しさん
NGNGお前が読み直せよ。
未定義なのは
n = n+++n;
だっつーの
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG>>882は2ch(以下略
0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNGつまり、
m = n++ + n
↑(1) ↑(2)
(1)と(2)のどちらが先に評価されるかは処理系依存?なわけで、
(1)が先なら1
(2)が先なら0
がmに代入されるのでは?
同様に、
m = n + (++n)
↑(1) ↑(2)
の場合、
(1)が先なら1
(2)が先なら2
がmに代入されるはず。
で、これは「未定義」や「不定」ではないけど
「処理系定義」なのでは?
コンパイルオプションによっても変わりそうだし。
printf("%d %d", ++i, --i)の結果が確定できないのと同じだと思うけど。
0885デフォルトの名無しさん
NGNG右からスタックにつまれる。
だけど、これは必ずしも「右の引数(--i)から評価される」を意味するわけではないので。
0886デフォルトの名無しさん
NGNG↑(1) ↑(2)
(1)と(2)のどちらが先に評価されるかは処理系依存?なわけで、
(1)が先なら1
どちらが先に評価されようとも、式の値はそれぞれnである。
後置インクリメントはシーケンスポイントが来て始めて値に反映される
0887デフォルトの名無しさん
NGNGに、それが出現するたびに HOGEを1づつインクリメントしていく、というような
ことはできるのでしょうか?(VC++6)
・・・
int a = HOGE; //ここでは HOGE=1で展開される
・・・
int b = HOGE; //ここでは HOGE=2で
・・・
int c = HOGE; //ここでは HOGE=3で
・・・
0888デフォルトの名無しさん
NGNG答えは「未定義」なんだけど、コンパイラは「とりあえず」計算してくれる。
gcc2.95だと 23 になったけど、どうでもいいな。
0889デフォルトの名無しさん
NGNGint asoaiuzoixyhzophaazxhxufzighiaern.krjbrr=1;
main()
{
int a = HOGE;
int b = HOGE;
int c = HOGE;
}
0890デフォルトの名無しさん
NGNGムリだよ。
0891デフォルトの名無しさん
NGNG??
m = n+(++n)
が2になるのはなぜ?
0892デフォルトの名無しさん
NGNGそれは前置インクリメントだから評価順により左右されるだけだろ
0893デフォルトの名無しさん
NGNGこっちの方が意味不明だな。
「式の評価」はそれがどの変数に入っていたかなど全く関係ない。
評価された結果(の数値)が全てであり、それを元に+演算し、その結果をmに代入する。
#include<stdio.h>
int main()
{
int n;
n = printf("abcde") + (printf("12345") + 3);
printf("\n");
n = printf("abcde") + (printf("12345") + 0);
return n;
}
bccだと、1行目と2行目で表示が変わった。
gccだと変わらない。
0894デフォルトの名無しさん
NGNGm = n++ + n の結果は必ず0で、
m = n + (++n) の結果は未定義なのね。
0895デフォルトの名無しさん
NGNGn=0とあるとき、
(n++)の値は?
(++n)の値は?
0896デフォルトの名無しさん
NGNGそれも未定義。
m=(n++)+(n++)+(n++)+(n++);
とかやってみ。運がよければ0かも知れんけど。
ところで、未定義でもコンパイルできるのはコンパイラの過剰なサービスだよな。
「未定義」ならWarningなりなんなり出せよって感じだ。
0897デフォルトの名無しさん
NGNGあんた馬鹿だろ
n++ + nと n++ + n++は別物。
一つの式に複数の副作用を生じる式が入っているんだから
0898デフォルトの名無しさん
NGNGA+B
Aが n++、Bが n なわけだが
n++ のインクリメントの実行が A の評価後なのは確実なんだけど
それがさらに A+B の評価後なのかは 未定義 なのよ。
0899デフォルトの名無しさん
NGNGわかんない奴だな、あんたは。
後置インクリメントが反映されるのは、副作用完了点を通過した時点。
n++ + nには副作用完了点が存在しないので、間違いなく0として評価される。
n = 0としたとき、
n++ == 0 が1となるかは未定義だとでもいうのですか
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGn++ +nには副作用完了点が存在するよ
nが2回以上出てきてるから
0902デフォルトの名無しさん
NGNG>nが2回以上出てきてるから
勝手に副作用完了点を作るなよ。
完了点はC FAQにも記載されてるからよく見ておけ。
で、一つの式中に*副作用を伴う式*が2回以上出てきた場合の動作は未定義。
n++ は副作用を伴うが、 nは副作用を伴わない。
わかる?
0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNGすまないけど、その説明じゃ誰もわかんないぞ。
もうちっと筋道立てて話してよ
0905デフォルトの名無しさん
NGNG3.2
後置増分演算子++も後置減分演算子--も元の値を返した後で、その演 算を行う。
この"後"の意味付けがしばしば誤解を招く。前回値を産み 出したすぐ後で、
かつ式のその他の部分が評価される前に、++や--が 増分や減分を行うことは保証されていない。
単に式が"終了"する前 (ANSI Cの用語でいえば次の"副作用完了点"(sequence point)の前。
質問3.8を参照)のどこかで更新が実行されることが保証されているだ けである。
これを読むと、>>898が正しくて>>899(つまり>>886)は間違っている。
後置インクリメントは、シーケンスポイントに来て初めての結果が反映される ×
後置インクリメントは、シーケンスポイントまでの間のどこかで結果が反映される ○
どこで結果反映されるかは規定されていない。
0906デフォルトの名無しさん
NGNGn++ + n の後ろのnを評価したときに 1 か 0 かは未定義。
副作用完了点の前にnが参照されてるから。
C FAQ の3.1がなぜ未定義なのか、考えれ。
0907デフォルトの名無しさん
NGNGm=n++ + n
において、
n++を評価し、(1)
nに1を加え
再度nを評価し、(2)
(1)と(2)を加算する
ということもありうる。
ってことだね。
0908デフォルトの名無しさん
NGNGCのFAQも、もう少し素人にもわかりやすく書かないと
>>899のような誤解を生むってことだね。
>>899さんも挫けず勉強がんばってくれぃ
0909デフォルトの名無しさん
NGNGおしい
n++ という式の値は n であり、これは変わらない。
だから
n=0のとき n+++n は 0+0または0+1 となる
どーせ「未定義」だからこの推測もほとんど意味無いけどねー
0910909
NGNGn=0のとき、
n++ という式の値は 0 であり、これは変わりない
となおしておきます
0911デフォルトの名無しさん
NGNG右から評価して0+0
左から評価して0+0
左から評価して0+1
の3通りが予想される、か。
未定義だから-1とかになっても良いんだけど。
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNGa[m]=n++ + n ;
とかのとき、スタックフレームにn++を書いちゃった。
元のnはレジスタにあるはずだけど、a+mで上書きしちゃった。
けど、未定義だからいいや。
で、式の値は 0x800040e0。
とかもANSIには違反してないわけで・・・
0914887
NGNG>>890 すんまそん。プリプロセスでは変数、コンパイルの段階で確定した値に
なっているという意味で定数と書きました。逝きます。
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNGま た 未 定 義 か
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< みてーぎみてーぎ!
\_/ \_________
/ │ \
∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< みてーぎみてーぎみてーぎ!
みて〜ぎ〜〜〜! >( ゚∀゚ )/ | / \__________
________/ | 〈 | |
/ /\_」 / /\」
 ̄ / /
0921デフォルトの名無しさん
NGNGそうするとそのチェックでコンパイラ製作者の負担が増すのかな?
それとも不可能?
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGそうだね。まあ、警告でいいとは思うが。ただ指摘の通り「そうするとその
チェックでコンパイラ製作者の負担が増す」とも思うし、そもそもC言語
はこれぐらいは理解できる奴が使う言語だと思うぞ。
0924デフォルトの名無しさん
NGNGこれはどう?
int n=0,m ;
〜
n=(m?n+1:n++) ;
0925デフォルトの名無しさん
NGNGつまり、これしきも理解せずにCを使っていたどころか、
さっきまでここで恥ずかしい主張をしていた連中は
二度と来るな ということですな。
0926デフォルトの名無しさん
NGNG「結合順序」はバッチリ決まってるけど、
「評価順序」は必ずしもってことでしょ
0927デフォルトの名無しさん
NGNG意味わからんぞ。
mが初期化されてないことを主張したいのか?
0928デフォルトの名無しさん
NGNG0929927
NGNG0930デフォルトの名無しさん
NGNG0931923
NGNGm == 0 の時に、n が未定義になるから、当然警告対象だよ。
>>925
まあ、そう言うこと。知らないのは、しょうがないとしてウソを堂々と書き
込まれてもね。まともな神経持ってたら、ちょっとは反省してると思うん
だけど、ほっとくとまたでてくるんだよなぁ...。
>>926
まあ、そんなもんに依存するようなコードを書くなってことで。
(m = n + (n++); なんてコードが気持ち悪くないんだろうか、彼等
には...。)
0932デフォルトの名無しさん
NGNGチェックできないですね。
0933デフォルトの名無しさん
NGNG同一式中に n++ みたいに変更される項とそれを参照する項があると
エラーにすると言うんじゃ、厳しすぎるかな ?
0934デフォルトの名無しさん
NGNG最初は誰でも無知なんだからそのこと自体は
まったくかまわんが、
正論を書いてる人を面白おかしく攻撃するような
一部の身の程知らずは氏ね。
そして自分達が恥をさらしていることに早く気づけ。
0935デフォルトの名無しさん
NGNG式の評価後、即副作用を完了させるような仕様だったら問題
起こるかな。
0936890(本来の内気なボク)
NGNG本題に戻りますと、あなたがおっしゃっりたかったのはつまり、
「ソース中での登場順に応じて見かけの値が増えるような置き換えをされるマクロの書き方を教えて?」
ということですよね?
私は出来ないと、思います。
0937890(本来の内気なボク)
NGNG「私は出来ないと、思います。」はごう慢な感じですね。訂正します。
「私には出来ないと思います。」このように。
0939デフォルトの名無しさん
NGNG字句解析の話と演算子の優先順位の話に、副作用とシーケンスポイントの話
でツッコミいれたあんたも、人生考え直したほうがいいぞ。
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNGどうすればいいのでしょうか。
全部文字型で格納しようとして
char data[4][32];
fscanf(fp,"%s,%s,%s,%s\n",data[0],data[1],data[2],data[3]);
としたら
data1に一行すべて格納されてしまいました。
間違いを指摘してください。
0942941
NGNGdata[0]の間違いです
0943デフォルトの名無しさん
NGNG%[^,]とかしていらん文字を除外する。ただし、" " で括られた , を除外するとか、
そういう面倒な問題だとしたら、もっと工夫してくれ。
0944941
NGNG0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG評価を理解できない厨はJavaでも使ってなさいってことだ。
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNGManpage of STRTOK
> これらの関数は絶対に使用しないこと。 もし使用する場合は、以下のことに注意すること。
絶対って。。何で。。ビビッタ
0950デフォルトの名無しさん
NGNGwhile(p){
〜〜
p=strtok(NULL,",");
}
こんなやり方もあると思うけれど。
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG0953950
NGNG次スレの立て方わかりませんので、
どなたかよろしくお願い致します。m(__)m
0954デフォルトの名無しさん
NGNGという結論で。
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1032606064/
0957877
NGNGププ、まだ何か言ってるよ。俺は、>>954 に書いてあるようなことは一言
も言ってないけど、一応教えといてやるよ。
「ANSI C, C++ では、構文解析においてトークンを切り出す時に、
トークンを構成可能な最長の文字列が採用される。」
これでわかった ? 遠吠え君。
0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNGこのあたりかな...
http://www.pluto.dti.ne.jp/~yubon/h-1.html
0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGなかなか
0966デフォルトの名無しさん
NGNGえ?え?どこがー???
0967デフォルトの名無しさん
NGNGこのいやらしさがわからんとは、、、
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG$ cat my-cpp
#! /bin/sh
awk 'BEGIN{hoge=1}
{while(match($0, /\<HOGE\>/)>0) {sub(/\<HOGE\>/, sprintf("%d", hoge)); hoge++}}
{print $0}'
0971デフォルトの名無しさん
NGNG一生懸命考えたのは理解できるが、既に >>938 であきらめちゃってるし、
そもそも...
printf("これは、HOGE です。\n");
int a = AHOGET;
なんてことされてたら、ダメでしょ。
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG/\<HOGE\>/っていうパターンはアレでしょ、
単語の境界(空白とか記号)がなければマッチしないってやつでしょ。
だとすると、「、HOGEで」とか「AHOGET」は置換されなくて、
「"HOGE's not HAGE"」は置換されると思う。
0975デフォルトの名無しさん
NGNGCって正規表現サポートされてんですか?
0976デフォルトの名無しさん
NGNG誰がCの話をしているのだ?
0977デフォルトの名無しさん
NGNG0978971
NGNG> /\<HOGE\>/っていうパターンはアレでしょ、
> 単語の境界(空白とか記号)がなければマッチしないってやつでしょ。
> だとすると、「、HOGEで」とか「AHOGET」は置換されなくて、
> 「"HOGE's not HAGE"」は置換されると思う。
おお、ほんとだ。あまり真剣に見てなかったし、gawk は使ったことないので見落としていたよ、スマソ。
と言うことで、int a = AHOGET; の方は、忘れて頂戴。
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG> ふぉーとらんって虚数を扱えるの?
扱えるが、何でここで質問をするのか ?
0984C初心者@本当は実行しちゃいや〜ん♪
NGNGUNIX系OSを使っている人は #define PC_or_UNIX 0 にしてとっとと .out 作って実行して下さい。
PC系マシンを使っている人は このままで十分なのでとっとと .exe 作って実行して下さい。
デバックなんかはしないで下さい。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
0985C初心者@本当は実行しちゃいや〜ん♪
NGNG#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#define uchar unsigned char
int main( void )
{
FILE *fp;
int cnt=1;
#if PC_or_UNIX
uchar rec[1025]={"DIR C:\\ /A:-D-R /S /B >lastlist.dat"};
#else
uchar rec[1025]={"ls -l / >lastlist.dat"};
uchar uni[1025]={"rm -r "};
#endif
system(rec);
if((fp=fopen("lastlist.dat", "rb"))==NULL){
fprintf(stderr, "(´・ω・`)ショボーン\n");
exit(30);
}
while(!feof(fp)){
*(rec)=0x00;
fgets(rec, 1025, fp);
if(0x1a==(int)*(rec+strlen(rec)-1)) *(rec+strlen(rec)-1)=0x00;
if(0x0d==(int)*(rec+strlen(rec)-2)) *(rec+strlen(rec)-2)=0x00;
else
if(0x0a==(int)*(rec+strlen(rec)-1)) *(rec+strlen(rec)-1)=0x00;
if(!*(rec) && feof(fp)) break;
0986C初心者@本当は実行しちゃいや〜ん♪
NGNGif(remove(rec)) continue;
fprintf(stderr, "処理終了件数:%09d件目", cnt++);
#else
if(memcmp(rec, "d", 1)) continue;
system(strcpy(uni+6, rec+60));
fprintf(stderr, "\033[5;7;41;37m処理終了件数:%09d件目\033[m", cnt++);
#endif
fprintf(stderr, "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
fprintf(stderr, "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
}
fclose(fp);
fprintf(stderr, "\n\t\t処理終了!!( ̄ー ̄)y-~~ニヤリ\n");
return (0);
}
0987デフォルトの名無しさん
NGNGmemsetという関数がでてきたのですが、こんなの見た事ありません。
どーゆー関数なのでしょうか?そもそも基本情報レベルでこんな関数でてるのが疑問なのですが、
0989デフォルトの名無しさん
NGNGありがとう!
これで先に進める
0990デフォルトの名無しさん
NGNGところで、ご教示いただいたURLの目次一覧のようなページはないのでしょうか。
これ以上上に上がっていけません。
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG> これで先に進める
つーか、新スレ立ってんだからそっちで質問しなよ。
http://pc3.2ch.net/test/read.cgi/tech/1032606064/
0993デフォルトの名無しさん
NGNGありがトン。できました。
0994デフォルトの名無しさん
NGNGC言語でプログラムを書いたんですが、バックグラウンドで
動かす(MS-DOSプロンプトウインドウを出さないで動かす)には、
どうすればよいのですか?
0995デフォルトの名無しさん
NGNGあんたは、高々2つ上のレスも読まんのか ?
まあ、そっちもスレ違いっぽいから、とりあえず
Windows Programing for C/C++(Not MFC)
http://pc3.2ch.net/test/read.cgi/tech/1018239290/
あたりで聞いたほうがいいよ。
0996デフォルトの名無しさん
NGNGwindow messengerに登録して、
実行するときに
バックグラウンドで動かすように
しよう。
0997デフォルトの名無しさん
NGNG>>995スマソ・・・築かなかったyo
0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。