[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 01/19 06:51 / Filesize : 249 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門篇)



1 名前:デフォルトの名無しさん [2006/05/04(木) 08:53:09 ]
入門者向けの俺に聞けスレです。
なんでもきいてよね

152 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 02:07:24 ]
x座標を入れてください3
y座標を入れてください3
円の面積は56.548800平方センチメートルです

Borland C++ではコンパイルできて、試しにxとyに3を入れて出したんだが
座標から面積を求めるって・・・

153 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 02:08:56 ]
>>149
-lm 付けずにコンパイルしてました。
なんて冗談は言わないよな?

154 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 02:11:07 ]
>>147
>>148さんの言うとおり
ソートでも、探索でも、単純なソースを見てそのやりかたを
知れば、「これをこういう風にしたらこういう風になるな」ってな感じで
考えられる。でも、ネット上で、単純なソースって意外と見つからない。
理屈は書いてあっても、肝心のソースがなかったり。
かといって、アルゴリズム辞典買っても、「あぁ、もう訳わかんない」
ってなるのがたまにきづ。
でも、ネット上にも簡単な例が載ってるページがあったりする。
URL教えれ、って言われてもブックマークしてないから教えれないけど。
ま、こんな偉そうなことを言ってる俺も、ソートなり探索なりその他の
アルゴリズム等、使わないからすぐ忘れる。
だから、一度知ったアルゴリズムは、忘れそうな頃にもういっぺん
復習みたいにした方が良いみたい。
じゃないと、俺みたいに「ああ、あれね、もう忘れた」ってな感じに
なっちゃうよ。

155 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 02:52:47 ]
>>145
ありがとー

156 名前:デフォルトの名無しさん [2006/05/31(水) 12:07:17 ]
配列同士の足し算ってどう書けばいいのでしょ
たとえば

int a[3] = { 1, 2, 3 }
int b[2] = { 4, 5 }

としたときに

int c[5] = { 1, 2, 3, 4, 5 }

という配列を作りたいのです。

157 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 12:12:57 ]
>>156
それって単に配列aの後ろにbを付け足したってだけだよね?
だったら単純にaの先頭から順番に続けてbの先頭の値を
配列cに入れていけば良いだけでは?

158 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 12:22:42 ]
>>156
int i=j=0;
for(;i<=((sizeof(a)/sizeof(a[0]))+(sizeof(b)/sizoof(b)));i++){
if(a)c[i]=a[i];
else c[i]=b[j++];
}
俺って天才だよね┐(´ー`)┌

159 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 12:28:40 ]
>>156
memcpy(c, a, sizeof(a));
memcpy(c+sizeof(a)/sizeof(a[0]), b, sizeof(b));

160 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 12:45:49 ]
>>157-159
Cで配列を足しあわせるのって難しいんですね。
char型の配列だとstrcatで連結できるけどint型で使おうとするとエラー吐かれるし
perlみたいに
@c = (@a , @b)
こんな記述も使えないし,どう書くのかなと。

どうもありがとうございました



161 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 12:53:31 ]
>>160
> char型の配列だとstrcatで連結できるけど
配列の中身が文字列じゃない限りそんなことはやっちゃいかん

162 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 13:35:35 ]
>>158
forの行に間違いが二つ。その次の行に間違いが一つ。
天才っていうより、天災?

>>159
2番目のmemcpy()に間違いが一つ。

163 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 13:45:52 ]
>>162
どこ?

164 名前:162 mailto:sage [2006/05/31(水) 13:54:32 ]
>>163
がーん、確かによく見たらcにそのまま足しているから合ってるじゃん..._/ ̄|○

>>159
すまん。

165 名前:デフォルトの名無しさん [2006/05/31(水) 17:04:17 ]
下らない質問で恐縮なんですが・・・
構造体の変数に列挙型使えますか?

struct test{
enum tag{sun, mon, tue} week;
};

test.week = sun;

みたいな感じで

166 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 17:05:38 ]
>>165
なぜ人に聞く前に自分で試して見ないのか。
結論を言ってしまえばできるけど。

167 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 17:09:06 ]
>>165
ありがとうございますです。

168 名前:デフォルトの名無しさん [2006/05/31(水) 18:25:12 ]
>>158
c[]のメモリはどこに確保されているの?

169 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 18:38:24 ]
if(a) ってどういう意味? a の値って変化するの?

170 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 19:56:55 ]
>>156

int c[] = {a[0], a[1], a[2], b[0], b[1]};




171 名前:>>147 mailto:sage [2006/05/31(水) 20:06:15 ]
>>148 >>154

ありがとうございます。

よさそうなサイトを探してみます。



172 名前:149 mailto:sage [2006/05/31(水) 20:11:39 ]
>>153
その通りでした・・・


173 名前:デフォルトの名無しさん [2006/05/31(水) 21:16:16 ]
printf関数のソースの解説してあるサイトってないかな?

174 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 21:28:03 ]
>>173
 図書館かどこかでANSI C言語辞典を探して
printf関数の定義例をコピーする、というんじゃだめなの?

175 名前:デフォルトの名無しさん [2006/05/31(水) 22:21:26 ]
俺、さっきプログラム作ってて、すごいことに気づいた。

ポインタからメンバ変数を取り出すのに使う -> って、いらなくね?

ポインタだろうがそうでなかろうが . でいいじゃん。
わざわざ人間が指定してやる必要ないじゃん。

だって、コンパイラは変数がポインタかどうか分かってるのだから、
勝手に解析してくれればいいのだと思うのだよ

176 名前:デフォルトの名無しさん [2006/05/31(水) 23:11:34 ]
const と #typedef の違いってなんですか?


177 名前:176 mailto:sage [2006/05/31(水) 23:12:32 ]

>>176

ごめんなさい、
#typedef ではなく #define でした。

178 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 23:19:47 ]
>>175
初心者はそれで構造体の変数と構造体へのポインタを混同しそうだから、
今の区別する仕様でいいと俺は思う。

そういえばDはどっちも . でいけるとアピールしていたような気がしなくもない。

179 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 00:13:58 ]
>>175
たしかにそうなんだけどさ、
-> はポインタ演算 (*p). の糖衣構文として追加された経緯があって、
既存のコンパイラをあんまりいじくらずにいけるようにしたかったんだよ。

180 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 00:21:30 ]
あと、ポインタってことはメンバがオーバーライドされてたりすることも考えないといけないから、
いざ機械語になったときのコードが.と->でかなり違ってくる。.*と->*になればなおさら。

ま、コンパイラがちゃんと解析すりゃいいじゃん、ってのは、そうなんだけどね。



181 名前:179-180 mailto:sage [2006/06/01(木) 01:14:22 ]
ごめんC++と間違えた。

182 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 11:07:41 BE:34939229-#]
>>177
そもそも同じところが見つからない。

183 名前:デフォルトの名無しさん [2006/06/01(木) 11:37:03 ]
実行時に

prog.exe para1 para2

のように引数を与えたいプログラムを作るときに、
デバッグ時に、以下のように、自分でargcやargvに直接値を代入しても問題ないですか?
実は、他の人がこのようにしているのを見たので、自分でもまねしてみたのですが、
VC.NETだと、問題なく動いているのですが、正しいのか間違っているのかよくわかりません。

main(int argc, char *argv[])
{
argc = 3;
argv[0] = "prog.exe";
argv[1] = "para1";
argv[2] = "para2";

・・・
・・・
・・・

}




184 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 11:40:27 ]
>>183
ダメ

185 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 11:56:47 ]
宿題ではないのでどちらに書こうか悩んだのですが・・・
判る方、いらっしゃいましたら教えて下さい!!

数字を10文字まで表示させて10文字表示して何かキーを押したら
11〜20までを新しいページで表示させたいんです。

これはVC++で出来ますか?

186 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 11:57:58 BE:108696487-#]
最初に
argv=(char**)mallock(sizeof(char*)*3);
とでもしておけばとりあえず危険はない。

187 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 12:01:42 BE:104814296-#]
>>185
「表示」の具体的な内容(デバイスとかフォントとか大きさとかタイミングとか)とか
「ページ」が何を指しているのかとかが全然分からんが、それらがPCで制御できる
状態にあるならば、VC++でできるかどうかという問いには「できる」としか答えられない。

188 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 12:22:23 ]
DOSのMOREコマンドみたいなことをしたいのかな?

189 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 12:37:57 ]
>>183
> argc = 3;
> argv[0] = "prog.exe";

この二行は問題ない。

> argv[1] = "para1";
> argv[2] = "para2";

これは、問題有り。
不正な領域への書き込みとなる。

190 名前:185 mailto:sage [2006/06/01(木) 13:15:37 ]
>>187さん
回答有難う御座います。
言葉足らずで申し訳ありません;;

1         11
2         12
3         13
4         14
5  ⇒何か押す⇒ 15
6         16
7         17
8         18
9         19
10         20

と表示したいんです。
(数字は固定値じゃなくて任意で入力された文字)
これじゃぁ、まだ判り辛いですか?
初心者で申し訳ないです;;上手く言葉に出来ないです(;´Д`)




191 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 13:49:17 BE:139752498-#]
>>190
やりたいことは分かったが、お前が何を知りたいのかが分からない。

192 名前:185 mailto:sage [2006/06/01(木) 14:05:30 ]
>>191さん
190で言ったように表示できるソースを書きたいんですが・・・
10コ表示したら改ページみたいなのをfor文とかで回せば良いのですか?

193 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 14:09:59 ]
>>185
コンソールAPI ってのを使う。

194 名前:デフォルトの名無しさん [2006/06/01(木) 14:10:57 ]
>184
>186
>189
ありがとございました。
そうすると、こういう場合(つまりデバッグ作業をしているときには
とりあえずソースコードの中で固定の引数を与えたい場合は)、何か良いテクニックみたいなの
ありますか?

195 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 14:14:58 ]
>>194
VCのデバッガなら、コマンドラインから与える引数の設定ができるよ。
他のデバッガにもそういう機能があるんじゃない?



196 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 14:23:35 BE:108696487-#]
>>192
forでもwhileでも好きなようにループ汁。

197 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 14:51:35 ]
>>194
俺だったらそういうデバッグの時はシェルスクリプト
(Windowsならバッチファイル) 作っちゃうな。
そうすればそこで引数変えられるから。


198 名前:デフォルトの名無しさん mailto:age [2006/06/01(木) 16:51:07 ]
int i =1;

if(i == 5)
{
printf("Hello!");
}

1から100まで既に入力されていて
表示をする時に5件ごとにHello!!と表示させたいのですが、
上の書き方だと5件目の時のみにしかHello!!とつきません。
5件ごとにHello!!とつけるにはどうしたらいいですか?

199 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 16:52:34 ]
>>198
計算すりゃいい。
5で割ったあまりが0かどうかで判定すればいいんじゃないか?
(i%5)==0とか。


200 名前:デフォルトの名無しさん mailto:age [2006/06/01(木) 17:12:11 ]
>>199

198です!出来ました!!
有難う御座いました!!!



201 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 17:38:17 ]
このスレ数学得意な人多くてうらやましい

202 名前:デフォルトの名無しさん [2006/06/01(木) 17:46:19 ]
>195
VC使っていますが、コマンドラインから与える引数をデバッガで与えられるというのは、
先ほど見つけました。VC3年使っていて今まで知らなかったです。ありがとうございました。
>197
私は、DOSの画面を出しておいて、VCでビルドしたあと、DOSの画面で引数与えて実行
するという初歩的な方法でやっています。

ところで、
186さんに教えていただいた以下の方法ですが、
 argv=(char**)mallock(sizeof(char*)*3);
 とでもしておけばとりあえず危険はない。
この方法でも完全ではないということでしょうか?
こうやって領域を確保しておけば問題ないように思うのですが。


203 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 17:49:36 ]
>>201
算数の問題だと思うが?

204 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 17:52:57 ]
>>202
とりあえず、意味をよく理解した上で使う分には問題ない。
しかし、意味を理解せずに使用すると、
後々に問題が出てくることになると思われ。

205 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 17:55:41 BE:58230656-#]
>>202
ちょっとtypo。
argv=(char**)malloc(sizeof(char*)*3); の意味が分かってて、リリース時に間違いなく
消えて無くなるなら問題ないかと。

206 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 18:28:58 ]
引数を固定的に決めたいだけなら malloc() する必要もないのではないか?
こんな風に書いておけばいいんじゃないの?

int main(int a, char *av[])
{
 char *argv[] = {a[0], "para1", "para2", NULL};
 int argc = 3;

}

で、リリース時に a, av を argc, argv に書き換える。


207 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 18:29:34 ]
あー! 書き間違いがある。

まあいいや適当に読みかえて。


208 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 18:42:46 BE:48525555-#]
>{a[0], "para1", "para2", NULL};
 ~~~~~
初期化子に変数は使えない。

209 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 18:58:25 ]
>>208
staticじゃなければOKのはず

210 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 19:27:46 ]
>>208
とりあえず gcc ではこれは動いた。

#include <stdio.h>

int main(int a, char *av[])
{
char *argv[] = {av[0], "para1", "para2", NULL};
int argc = sizeof(argv) / sizeof(*argv) - 1;
int i;

printf("%d\n", argc);
for (i = 0; i < argc; i++)
printf("%d: %s\n", i, argv[i]);

return 0;
}

実行結果

3
0: ./a.out
1: para1
2: para2




211 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 19:33:52 ]
> All the expressions in an initializer for an object that has static storage duration shall be
> constant expressions or string literals.
としか書かれてないからな。

212 名前:デフォルトの名無しさん [2006/06/01(木) 20:36:04 ]
ひどい質問ですみません。
コンパイラってどこで仕入れるといいんですか?

213 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 20:46:24 ]
>>212
仕入れということはその後自分の店で売るということですか?


214 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 21:05:52 ]
>>208
まったく問題ない。

>>211
expression の定義参照。

215 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 01:29:55 ]
もう、ポインタわけわからんよ(><)


216 名前:デフォルトの名無しさん [2006/06/02(金) 02:21:27 ]
int a = 0x100
char *b = "hoge"

とあるときに

char *c = "100hoge"

という文字列を*cに入れたいのですがどうすればよいでしょうか・・

217 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 02:24:04 ]
char buf[20];
sprintf(buf, "%x%s", a, b);
c = buf;

218 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 02:25:48 ]
>>212
そういうのは流通業者に聞いてみれば?
ま、どこに聞いても「ウチで仕入れてください」っていうだろうけど。

219 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 02:26:30 ]
>>217
うぅどうもです><

220 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 03:05:47 ]
>>212
ttp://www.borland.com/jp/products/cbuilder/freecompiler.html
>Borland C++Compiler 5.5インストール手順
のすぐ下にある
>Borland C++Compiler 5.5のダウンロードは、こちら(8.46MB)をクリックして下さい。
の「こちら」をクリック。

エディタは↓を使うと、コンパイルも楽。
ttp://www.vector.co.jp/soft/win95/prog/se141451.html



221 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 03:11:48 ]
>>220
そんな古いのより Visual C++ 2005 Express Edition のがいいぞい。
www.microsoft.com/japan/msdn/vstudio/express/visualc/

222 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 03:18:57 ]
>>221
DLにめっさ時間が掛かるね・・・

223 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 09:02:22 ]
DLオワタ・・・疲れた・・・寝るぽ

224 名前:デフォルトの名無しさん [2006/06/03(土) 07:13:57 ]
>>221
vc2005使ってると、ANSI標準の関数使うと、いちいち警告で
「古い定義の関数でなんたらかんたら」って出るけど無視しよう。
MSがあらたに作った関数なんていちいち使ってたら
変にそっちの関数の知識を身につけちゃう可能性あるから。

225 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 08:18:11 ]
>>224
そもそもそんな警告を表示しないようにすればよいだけだと思う。

226 名前:デフォルトの名無しさん [2006/06/03(土) 08:22:08 ]
extern FILE *fp_a

int AAAA()
{
FILE fp ;

fp_a = fopen("a.txt", "w")

if (fp_a == NULL) {
return(-1) ;
}
BBBB() ;

fclose(fp_a) ;
return(0) ;
}

int BBBB()
{
FILE *fp ;
fprintf(fp_a, "test-AAAA-prog") ;

fp = fopen("zzz.txt", "r")
if (fp == NULL) {
return(-1)
}
fprintf(fp_a, "test-BBBB-prog") ;
fclose(fp)
}

227 名前:デフォルトの名無しさん [2006/06/03(土) 08:24:52 ]
↑突然すいません、上記場合でfp_aを252回open,closeを繰り返すと
fp_aをopenしている間だけ、fpのopenに失敗してしまいます。
extern宣言しているファイルポインタを使用しているのがまずいのでしょうか?

228 名前:デフォルトの名無しさん [2006/06/03(土) 08:26:36 ]
誤記:fprintf(fp_a, "test-BBBB-prog") ;
正記:fprintf(fp, "test-BBBB-prog") ;


229 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 08:29:01 ]
>>225
あの「警告を表示しない方法」教えてくだされ

230 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 08:38:02 ]
>>229
msdn2.microsoft.com/ja-jp/library/ms175759.aspx
_CRT_SECURE_NO_DEPRECATE



231 名前:224 mailto:sage [2006/06/03(土) 08:53:03 ]
俺としては、あの警告は「はいはい、ワロスワロス」で流してるけど
入門者の人にとっては、不安だろうな〜


232 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 09:32:28 ]
>>227
それ、症状が再現する最小のモジュールになっていないだろ。
ソース載せるなら、再現することを確認してからにしてくれ。
まぁ恐らく、きちんとファイルをクローズしないでオープンしたままなんだろうけどな。

233 名前:デフォルトの名無しさん [2006/06/05(月) 11:25:15 ]
列挙定数ではなく構造体を使用したときの良い点を教えて

234 名前:デフォルトの名無しさん [2006/06/05(月) 11:49:21 ]
動画解析をしたいのですが、まず動画を画像ファイルに変換するにはどうしたらよいでしょうか?

235 名前:デフォルトの名無しさん [2006/06/05(月) 11:57:05 ]
今から勉強するならVC++ か VC# のどっちを買った方がいいですか?
言語の仕様が大幅に変わってるみたいなのでどうすればいいかわかりません。

どっちもCでしょ?

236 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 11:59:30 ]
>>233
全く違うもの同士でそういう風に聞かれても・・・。

237 名前:デフォルトの名無しさん [2006/06/05(月) 12:11:00 ]
>>236
 全く違う物?
 VC++の方がスキルとして認められ易いと聞きました
 新しい言語なのにC#って普及してないの?

238 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 12:12:05 ]
志村ー、レス番! レス番!

239 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 12:13:21 ]
>>235
とりあえず Express Editions を落として使ってみれば?

240 名前:デフォルトの名無しさん [2006/06/05(月) 12:17:10 ]
>>239
 タダやん
 いつのまにこんな物…
 勉強するにはもってこいですね
 ありがとうございました。




241 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 12:17:31 ]
>>235
今から始めるのに言語仕様が変わっていてなぜ困る

242 名前:& ◆lWyMorKHN2 [2006/06/05(月) 12:19:07 ]
平方根を求めようとしてsqrtを書いたんですが、コンパいるしたときに未定義のシンボルとでます。
何か必要なんでしょうか?

243 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 12:19:44 ]
>>242
常識。

244 名前:& ◆.uxO1zwzGk [2006/06/05(月) 12:20:53 ]
教えてください!!

245 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 12:24:50 ]
>>242
> 何か必要なんでしょうか?

問題解決能力

246 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 12:25:11 ]
>>240
勉強し終わったころには新しい言語が出ていてまたいつのまにこんな物・・・

247 名前:デフォルトの名無しさん [2006/06/05(月) 15:20:48 ]
x=y^2のグラフを−2<y<2でyを変化させ、
適当な座標軸上にプロットするプログラムを書け、
といった課題が出されました。
while文を用いて、値を出すプログラムまでは作れるのですが、
座標軸をつくり、そこへプロットする仕方がわかりません。

どなたかご教授お願いします。

248 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 15:22:53 ]
>>244
ヒント
メイクファイル

249 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 15:24:18 ]
>>247
環境ぐらい書け
宿題丸投げは宿題スレへ

250 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 16:02:25 ]
>>242
-lm




251 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 16:47:52 ]
ファイルに書いてあるデータをポインタで参照できないものでしょうか。
例えばあるファイルをバイナリエディタで開くと以下のように見えたとします。
0F 32 5D BC 29
そこでCのソース中にunsigned int *p;などと宣言しておいた
ポインタがあって、なんらかの処理でpが32を指すように
なっているとすると、*(p + 1)とすると5Dが、*(p - 1)とすると
0Fが参照できるようなそんなことはCでは可能ですか?
fgetsでデータを一度配列に格納してそれをポインタで指す方法は、
配列の大きさを一体いくら確保しておけばよいのか、
予め分からないので使いにくいと思い、このような質問をさせて頂きました。
環境はRedHat9 + gcc-3.2.2-5です。

252 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 16:57:48 BE:48525555-#]
>>251
>配列の大きさを一体いくら確保しておけばよいのか、

わかってから確保すりゃいいだろ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<249KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef