[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 20:08 / Filesize : 94 KB / Number-of Response : 422
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 23:38:08 ]
言語の入門者向け解説スレです。

教えて欲しいのではなく宿題を丸投げしたいならこちらへ。
 C/C++の宿題を片付けます 108代目
 pc11.2ch.net/test/read.cgi/tech/1211980711/

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 29
pc11.2ch.net/test/read.cgi/tech/1212329099/
過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000

121 名前:デフォルトの名無しさん [2008/06/16(月) 20:19:35 ]
以下のようなデータファイルをfgetsとsscanfを使って読み込みたいのですが、
どうすればよいでしょうか?

test.datの中身
1 2 3 4 5 6 7 8 9 10 11 ... 1000

char line[10000];
int a[1000];
FILE *fp;

fp=fopen("test.dat","r");
fgets(line, sizeof(line), fp);

とすると、lineにtest.datの内容が文字列として格納されます。
ここからsscanfを用いて、1〜1000をa[0]〜a[999]に格納したいです。
繰り返し構文を用いて何とかできませんでしょうか?

122 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:04:37 ]
ものすごい初歩的な質問ですが宜しくお願いします。
ためしにファイル名a.cとして文字列を表示させるだけのプログラムでコンパイルを試みたところ
Error E2209 a.c1: Unable to open include file 'stdio.h'
Warning W8065 a.c 4: Call to function'printf'with no prototype in function main

と表示されできません。
なにがいけなかったのでしょうか。

123 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:06:42 ]
標準インクルードパスがちゃんと設定できてないとか?

124 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:12:28 ]
>>123
レスありがとうございます。

確認してみましたができてました。

ちなみにプログラムは
#include <stdio.h>
int main(void){
printf("あああああ\n");
return 0;
}
ふつうのプログラムです。

125 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:14:37 ]
とりあえずプログラムに間違いは全く見受けられないから、
どっかの設定に問題があるとしか。

126 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:18:53 ]
>>124
できてないからおかしなことになっとるんじゃ

127 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:19:29 ]
確認させてください。

ボーランド社のコンパイラを使っております。ファイルをC:\Borlandに解凍して、

環境変数でPathの末尾に;C:\Borland\BCC55\Binを付け加える

二つのcfgファイルを作る

であっていますか?

128 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:30:22 ]
>>121
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6933.c
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6934.c

fgetsとsscanf 不使用
> char line[10000];
無理

129 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:35:32 ]
セミコロン有って98?




130 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:36:03 ]
>>120
それをやったのですけど
そのプログラムではfread,fseekを使ってるプログラムで
ひさしぶりにつかったらどうやって組み立ててたのかわからなくて。

宿題のスレにお願いしたのですけど。
ここにはるとマルチになるので


131 名前:130 mailto:sage [2008/06/16(月) 21:42:14 ]
これ
a-draw.com/uploader/src/up1643.zip.html
このファイルをダウンロードしてもらって解凍してもらいたいんです。
prog.cのファイルを実行してセグメンテーションエラーをとってほしいんです
けど。

132 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:42:25 ]
すでに現段階でマルチだよ

133 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:46:20 ]
>>127
cfg ファイルの中身が間違っている可能性が高い

134 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:49:36 ]
>>133
レスありがとうございます
bcc32.cfg内は
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
ですよね。
ilink32.cfg内は
-L"c:\Borland\Bcc55\lib"
ですよね・・・

とくにファイルの移動とかはしていません。デフォルトのままです

135 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:51:49 ]
中身は問題なさそうだな・・・。
んで、そのファイルはどこに置いてる?

136 名前:130 mailto:sage [2008/06/16(月) 21:54:14 ]
prog.cですけど
きちんと動けばtextフォルダ内にテキストファイルができます

137 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:54:27 ]
あいや、cfg ファイルね

138 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:55:16 ]
って、質問者からしてちゃうやんけw
>>135>>134 へのレス。

139 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:56:03 ]
ワロタ



140 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:56:32 ]
Binに入れています。

141 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:57:47 ]
だが断る

142 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:58:11 ]
cfg ファイルは非Unicodeのプレーンテキストファイル?

143 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:00:26 ]
はい

144 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:01:54 ]
C:\Borland\Bcc32\include\stdio.h はある?

145 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:02:12 ]
文字コードはANSIでした。
拡張子もtxtではなくcfgに書き換えています。

146 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:02:32 ]
環境変数かえてから再起動してないってオチでわ?

147 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:03:19 ]
コンパイラ走ってるからそのあたりは大丈夫そうに思える。

148 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:04:30 ]
自分のレス番名前に入れろ

149 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:04:32 ]
「登録された拡張子は表示しない」
設定になっているがために
本当は .cfg.txt になってるのが .cfg と表示されている・・・とかはない?



150 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:05:43 ]
>>144
ありました。

>>146
何回も再起動しました;;

>>147
コマンドプロンプト開いてbcc32でズラズラでてきます。

151 名前:122 mailto:sage [2008/06/16(月) 22:07:27 ]
>>149
拡張子は全て表示するようにしています.



152 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:11:37 ]
だが断る

153 名前:122 mailto:sage [2008/06/16(月) 22:15:42 ]
蛇足(?)ですが、JDKも導入しています。こちらはフツウに動作してくれます。

154 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:28:52 ]
見てみようと思ったがダウンロードできん。

155 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:43:34 ]
>>151
んじゃ、もう Borland は捨てよう。
インスコして即使える VC++ 2008 Express Edition にしよう。

156 名前:122 mailto:sage [2008/06/16(月) 22:51:29 ]
>>155
ですね・・・

Visual C++は初めて使う(学校ではUltra-C Proというソフトつかって勉強してました)のですが、まったく仕様がかわりますか?
基本画面を見ただけでごちゃごちゃしていてよくわからないのですが、、、

157 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:52:53 ]
コマンドプロンプトからコンパイルする時にインクルードパスを指定してみたら?

158 名前:122 mailto:sage [2008/06/16(月) 22:54:56 ]
>>157

コマンドプロンプトの使い方がまったくわかりません;;

159 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:55:52 ]
> bcc32.cfg内は
> -I"c:\Borland\Bcc55\include"

> C:\Borland\Bcc32\include\stdio.h はある?
→ありました

Bcc使ったこと無いんだが、Bcc55ってのとBcc32ってディレクトリできるん?



160 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:00:56 ]
>>159
御免。それ間違えただけ。

161 名前:122 mailto:sage [2008/06/16(月) 23:01:08 ]
>>159

>C:\Borland\Bcc32\include\stdio.h

これはBcc55の間違いでした。すみません。

162 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:01:28 ]
>>156
基本的な使い方はそこいらのサイトに載ってると思う。

163 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:03:23 ]
>>160-161
了解です。

bcc -ehoge.exe hoge.c
でいいのかな。

インクルードパスを明示的に指定するために
bcc -I"c:\Borland\Bcc55\include" -ehoge.exe hoge.c
とやってみるか、インクルードファイルをフルパス指定にするために
#include "c:\Borland\Bcc55\include\stdio.h"
に変えてみるとか。

164 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:04:36 ]
って\あやしくね?Windows分かりませんで逃げていい?(汗

165 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:05:15 ]
#include の中は \ 1つでいいよ

166 名前:122 mailto:sage [2008/06/16(月) 23:14:16 ]
>>162
ちょっとググってみます。

>>163

おぉぉおぉぉぉおお!できました!ありがとうございます!
しかし、もうVisualC++をインストールし終えてしまいました^^;
でもありがとうございます!

167 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:17:29 ]
>>166
お。できたんだ?
ってことはコンフィグファイルがうまく効いてないのかしら。
その辺はますます使ったこと無いのでわかりませんが、VCに移行するんですね^^;
がんばってねー

168 名前:122 mailto:sage [2008/06/16(月) 23:25:10 ]
>>167

VisualC++は使い慣れるのにけっこう時間が必要のようです^^;;;
当分、メモ帳+VisualC++の併用していこうとおもいます。
167さんのアドバイスで新しい書き方を覚えましたし、満足です^^
ありがとうございました。がんばりまうs!

169 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:29:44 ]
どうでもいいけどC言語以前の問題だと思う



170 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:31:33 ]
さらに入門以前の問題でもある

171 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:51:44 ]
>>168
メモ帳使う方が混乱すると思うぞw

172 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:00:15 ]
しかし、Visual C++コマンドプロンプトの存在は
bcc32.cfgを用意するなどといった手間がない分、Borland C++より優位。
インストーラの力は偉大だ。

173 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:07:07 ]
>>168
今までのレス見てて原因分かったぞ
bcc32.cfgのincludeを指定してるパスが間違ってるんじゃないのか

174 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:08:15 ]
>>134 で特に間違いはないように見えるけど

175 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:09:39 ]
見逃してたwww

176 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:31:05 ]
コマンドプロンプトがわかりませんとか言ってる時点で・・・
まずいくべきはPC初心者板だな。

177 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:38:14 ]
研修を受けて2週間めですが、さっぱりわかりません、助けてください。
変数ってprintfで表示できるしデバッガーでも表示出来るのはわかるのですが
計算して新しいものを入れるのにクリアしないのですか?


178 名前:デフォルトの名無しさん [2008/06/17(火) 00:40:54 ]
>>177
なにをいってるのかさっぱりわかりません、助けてください

179 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:42:42 ]
日本語の研修ですか?



180 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:43:46 ]
変数は初期化か上書きしかない、自分がこうしたらクリアだな
と思う値で初期化するなり上書きすればクリアじゃないかな

181 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:43:50 ]
>>178
ごめんなさい、講師の人には失礼なので聞けないので、一緒に研修受けている
人に聞いてもわかりません。
変数ってクリアしないで計算出来るんですか?

182 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:44:35 ]
いや、講師に聞いてくださいよ…

183 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:46:15 ]
>>180
ありがとうございます。
思う値でクリアするのがわかりません。
初期化か上書きって命令があるんでしょうか。素人ですみません。

184 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:47:10 ]
なんかよくわからんけど
自分で値いれるんならクリアしなくてもいいよ

185 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:47:26 ]
>講師の人には失礼なので聞けない
なんというゆとり

186 名前:デフォルトの名無しさん [2008/06/17(火) 00:48:09 ]
理解できずに終わる事のほうが失礼だから聞けよクズ

187 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:48:20 ]
>>182
講師の人の言ってることは日本語が難しいので聞いても無駄だと思って。。。


188 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:49:07 ]
なら分かりやすく教えてくださいって聞けばいいだろ…

189 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:50:16 ]
int a = 0; int型変数aを0で初期化
a = 1;   変数aに1を代入(上書き)



190 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:52:52 ]
この質問者の日本語が一番難しい。

191 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:53:11 ]
本とか買って予習したほうがいいと思うよ
そうすれば講義も理解しやすいかと

192 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:54:08 ]
ここんとこC言語以前の質問ばっかりじゃねぇか

193 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:54:55 ]
丁寧に図解して説明してくれて他の受講生は他の学校で習ったよりわかりやすい
っていっているので、聞けません。

a = 1って構文は理解したけど、なんでaが1になるのかわかりません。
型が同じだから代入できるということですか?

194 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:57:22 ]
悪いことは言わないからまず電子計算機のなんたるかを勉強しろ

195 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:57:40 ]
なんだ他の学校って。
職業訓練学校か?

>a = 1って構文は理解したけど、なんでaが1になるのかわかりません。
そういう決まりだからだ。

196 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:58:42 ]
大学の授業なんだろう?
授業料払ってるんだろう?
聞け

言っとくが俺らはおまえからもおまえの親からも何ももらってないんだからな

197 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:59:06 ]
もしかしてりんごの絵とかで解説してあげないと駄目なレベルなのかな

198 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:00:08 ]
はっきり言ってしまうと
単におまえが分不相応な講座取っただけだろ

199 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:01:08 ]
講師の人には他の人とは差があって当然だから、基礎的な事をまずは勉強
しようねといって、コンピュータの歴史の本みたいなのを読まされています。
わたしはプログラムしたいけれども、多分、もう見捨てられているんですね。
わかりました。



200 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:01:16 ]
コンピュータ内部の事象をイメージできない人間がプログラミングできるわけがない

201 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:01:34 ]
ああ、新入社員の研修じゃなかったのか。よかったよかった

202 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:02:48 ]
うーむ・・・正直相当不向きと見える


203 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:03:41 ]
学校じゃないから真剣なんです。社会人の研修です。

なんでみんなこんなのでわかるのか泣きたいです。

204 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:02 ]
a = 1って構文は理解したけど、
↑↑激しく矛盾 ↓↓
なんでaが1になるのかわかりません。

205 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:05 ]
おすすめ図書 猫でも分かるc言語プログラミング
   

206 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:13 ]
ごめんなさい、明日も早いから寝ます。いろいろありがとうございました。

207 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:33 ]
逆に質問したいんだがなんでaが1になるのが変だと思ったんだ?
そういうところをはっきり書いてくれないと誰もあなたが望む答えが出来ないと思うよ

208 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:41 ]
プログラマはプロ・アマ問わず本買うなりネットで調べるなりして自学自習が基本だ。
与えられた本に文句つけてる暇があったら、入門本を片っ端から読み漁れ。
講師だの学校だのにプログラム教えてもらおうなんて思ってるなら、転職・進路変更を勧める。

209 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:06:51 ]
なんでこんなのをプログラミングの研修に回すんだ…
どこの会社かしらんがおかしいだろ



210 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:08:07 ]
たぶん変数とか代入とかの概念がないんだろう

211 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:08:43 ]
まわりが経験者ばっかりで焦ってたんだろね

212 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:08:49 ]
1+1はなんで2になるの?くらいのレベルの質問

213 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:09:02 ]
>>207
a = 1 って書くのはわかるけど、aは変数じゃないんですか???
ごめんなさい、たぶんわたしがまるでわかってないんですね。

214 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:09:05 ]
あーそうか
つまり a=1 を数学の数式として見てるのか・・・

215 名前:デフォルトの名無しさん [2008/06/17(火) 01:09:20 ]
a = 1の構文に違和感を覚えるのなんてよくあること

216 名前:デフォルトの名無しさん [2008/06/17(火) 01:09:55 ]
と思ったけど>>213を見た限りそういうわけじゃないみたいだなwwwww

217 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:09:57 ]
a=1;

これの意味を本当に理解してる?
説明してみて

218 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:10:52 ]
>>213
意味わかんねえよ。
「(変数) = (値);」と書いて「(変数)に(値)を代入する」って読むんだよ。
何が分からんのか言うてみろ。

219 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:11:23 ]
たぶん「代入」が理解できてない



220 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:12:04 ]
131だけどどなたかわかりましたか?

221 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:13:05 ]
一番いいのは
自分で
int a;
a=1;
してからprintfでaを表示しろ






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

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

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