07/08/06 21:47:18
#define NULL ぬるぽ
#define 0 NULL
982:デフォルトの名無しさん
07/08/06 22:40:13
fopenやifstreamがどういう処理をしているか気になります。
遠回しにAPIを呼んでたりするんですか?
983:デフォルトの名無しさん
07/08/06 22:47:34
そりゃシステムコール呼ばないとファイル開けまへんがな(´・ω・`)
そこらのOS毎の差異を吸収するのも標準ライブラリの役目
984:デフォルトの名無しさん
07/08/06 22:48:24
そう。 遠まわしに、WindowsならCreateFileとかのAPIを呼んでる。
985:デフォルトの名無しさん
07/08/06 22:51:22
まー結局、細部まで一致しないからWINDOWS API使うのが賢い
かなり単純なものでないとCのみでしょり出来ないからな
986:デフォルトの名無しさん
07/08/06 22:53:31
×>>972,>>974
○>>976
C言語の仕様によれば、staticな変数は『定数ゼロ』(K&R第2版)で初期化される。
だから
static char *theTxt;
は、
static char *theTxt = 0;
と置き換える。
ここで、定数ゼロは整数型に代入されれば整数0であり、ポインタに代入されればヌルポインタになる。
ヌルポインタは、(アドレス0を指す処理系もあるかもしれないが、)
『どこも指していないポインタ』が正解。実際のbit列がゼロの連続とも限らない。
従って、ヌルポインタはprintf()の引数として処理できない。
ちなみに、『ぬるぽ』はNullPointerExceptionの略で、ヌルポインタではない。
987:デフォルトの名無しさん
07/08/06 22:54:54
BCCで書いているのですが、突然ファイルオープンができなくなりました。
#include<stdio.h>
main(void){
int i,j,k,t;
int No1,No2;
int Rs[3500][20],Hn[3500]={0};
double u,x,y;
double Odds[3500][20],Poll[3500][20],Poll_S[3500][20],Poll_T[3500][20];
FILE *fpr,*fpw;
fpr=fopen("horse.txt","r");
fpw=fopen("r.txt","w");
while(fscanf(fpr,"%d %d %lf %d",&No1,&No2,&u,&k)!=EOF){
Odds[No1][No2-1]=u;
Rs[No1][No2-1]=k;
Poll[No1][No2-1]=0.788/(u-1.0);
Hn[No1]++;
Poll_T[No1][No2]=0;
Poll_S[No1][No2]=0;
}
何か問題はありますか?教えてください。
988:gotoです
07/08/06 22:55:51
たまには私を思い出してください。
ほら、try-catch句がなかったあの頃を思い出してください・・・
989:デフォルトの名無しさん
07/08/06 22:58:45
>>987
釣り?
990:デフォルトの名無しさん
07/08/06 23:02:37
マジです
991:デフォルトの名無しさん
07/08/06 23:03:22
>>987
とりあえずmainの'{'に対応する'}'と、fcloseが足りない。
992:987
07/08/06 23:07:22
すみません。
ソースが長いので省略しています。
コンパイルエラーはないんですが
テキストファイルが読み込めないんです。
993:デフォルトの名無しさん
07/08/06 23:09:38
>>993
実行方法は?
まさか、カレントディレクトリにファイルがないって落ちじゃないよな?
994:デフォルトの名無しさん
07/08/06 23:10:31
horse.txtが無いんじゃね?
995:デフォルトの名無しさん
07/08/06 23:11:32
errno調べてみ
996:987
07/08/06 23:16:06
horse.txtはあります。
今まで動いていたプログラムもファイルが開かなくなりました。
ライトファイルはできます。
997:デフォルトの名無しさん
07/08/06 23:18:07
どっか別のアプリケーションがファイルを開いてるんじゃない?
アプリケーションを全部終了するか、最悪OS再起動したら直るんじゃないかね。
998:987
07/08/06 23:19:45
と思って再起動したんですが直りませんでした。
999:デフォルトの名無しさん
07/08/06 23:22:17
errno !!!
1000:デフォルトの名無しさん
07/08/06 23:26:49
次スレ!!!
スレリンク(tech板)
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。