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


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

【初心者歓迎】C/C++室 Ver.40【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 09:10:30 ]
エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.39【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1182740506/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

962 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 04:28:03 ]
>>957
いろいろ方法はある。

scanf 系関数を使うなら、
%*f のように書式に * を挟むことで
変数に格納しなくなるようにできるのを利用するとか。

あとは1行取得して、
それを strtok で "/" をデリミタにして処理した2番目の文字列を atof するとか。
strtok を使うのが気持ち悪いなら strchr を使ってもいいかもしんない。

963 名前:957 mailto:sage [2007/08/06(月) 04:48:30 ]
了解です、状況で判断しますorz

>>962
ご解答頂きありがとうございます。
教えていただいた通り、今回はstrtokを使ってみたいと思います。
%*fという表記は知らなかったので勉強になりました。
本当にどうもありがとうございましたm(_ _)m
また皆様のお力をお借りすることがあるかと思いますが、その時はどうぞよろしくお願い致します。

964 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 04:52:45 ]
strtok()は癖が強すぎるのでお勧めしない。
scanf()でフォーマットを'%*f/%f/%*f"にしてはいけないのか?

965 名前:957 mailto:sage [2007/08/06(月) 05:55:20 ]
>>964
strtok()は癖が強いのですか。
strtok()を使ったことが無かったので使ってみようかと思ったのですが、
そういうことであれば素直に%*fを使ってみたいと思います。
アドバイスありがとうございましたm(_ _)m

966 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 05:56:20 ]
test

967 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 08:26:44 ]
for(int i=0;i<n1;i++) {                          ←ここに飛びたい場合どうするのが一般的でしょうか?
  // 処理                            ↑
    for(int j=0;j<n2;j++) {                      ↑
        if (a[j] == b)    // 条件が成立したらループを抜けて↑
    }
    //処理
}

968 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 08:35:09 ]
>>967
つ[goto]

まぁ、アルゴリズムを見直してbreakだな。

969 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 10:36:46 ]
中のループをboolを返す関数にしてしまって
trueだったらcontinueとかね

970 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:31:43 ]
void f()
{
static char *theTxt;

strcpy(theTxt,"TEST¥n");
printf("%s",theTxt);
}
これってtheTxt;がstaticでnull初期化されているから
駄目なんですか?




971 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:38:10 ]
>>970
theTxtはポインタ。
strcpyはポインタの指すアドレスにデータをコピーする関数。

問題は、theTxtがどこも指していないこと。
mallocで確保するとか、配列にするとか、データの領域をまず用意

972 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:39:01 ]
どこも指してない、つーかNULLで初期化されてっからアドレス0を指してる、とも言えるか。
まあ同じだけど。

973 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:41:58 ]
理解出来ました。
有り難うございます

974 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:35:12 ]
>>972
>アドレス0を指してる、とも言えるか。
いえない。
因みに、初期化されていないポインタは
「何処を指しているかわからない」

975 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:35:58 ]
>>974
staticがついてると0に初期化される

976 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:36:57 ]
static だから = 0 で初期化されている。
ただ、アドレス 0 だとは限らない。

977 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:40:29 ]
もうヌルポインタが0じゃない話はいいから

978 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 13:57:16 ]
>>977
「ぬるぽはどこも指していない話」じゃないのか?

979 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 14:04:28 ]
NULLが0なんじゃない、0がNULLなんだよ。

980 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 15:01:18 ]
        ぬるぽ! ぬるぽ!
    ぬるぽ! ぬるぽ!  ぬるぽ!
  ぬるぽ!  ∩   ∩ ノ)   ぬるぽ!
 ぬるぽ!   川 ∩ 川彡'三つ  ぬるぽ!
ぬるぽ!  ⊂ミ∩、⊂ミ∩彡⊃    ぬるぽ!
ぬるぽ! ⊂三ミ( ゚∀゚)彡三彡三⊃ ぬるぽ!
ぬるぽ!  ⊂彡川⊂彡川ミ⊃    ぬるぽ!
ぬるぽ! ⊂彡川∪⊃ U川彡⊃   ぬるぽ!
 ぬるぽ!  (ノ ∪  川 ∪ミ)  ぬるぽ!
  ぬるぽ!       ∪     ぬるぽ!
    ぬるぽ!  ぬるぽ!  ぬるぽ!
       ぬるぽ!  ぬるぽ!
           ぬるぽ!



981 名前:デフォルトの名無しさん [2007/08/06(月) 21:47:18 ]
#define NULL ぬるぽ
#define 0 NULL

982 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:40:13 ]
fopenやifstreamがどういう処理をしているか気になります。
遠回しにAPIを呼んでたりするんですか?

983 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:47:34 ]
そりゃシステムコール呼ばないとファイル開けまへんがな(´・ω・`)
そこらのOS毎の差異を吸収するのも標準ライブラリの役目

984 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:48:24 ]
そう。 遠まわしに、WindowsならCreateFileとかのAPIを呼んでる。

985 名前:デフォルトの名無しさん [2007/08/06(月) 22:51:22 ]
まー結局、細部まで一致しないからWINDOWS API使うのが賢い
かなり単純なものでないとCのみでしょり出来ないからな

986 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/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です mailto:sage [2007/08/06(月) 22:55:51 ]
たまには私を思い出してください。
ほら、try-catch句がなかったあの頃を思い出してください・・・

989 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 22:58:45 ]
>>987
釣り?

990 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:02:37 ]
マジです



991 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:03:22 ]
>>987
とりあえずmainの'{'に対応する'}'と、fcloseが足りない。

992 名前:987 mailto:sage [2007/08/06(月) 23:07:22 ]
すみません。
ソースが長いので省略しています。
コンパイルエラーはないんですが
テキストファイルが読み込めないんです。


993 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:09:38 ]
>>993
実行方法は?
まさか、カレントディレクトリにファイルがないって落ちじゃないよな?

994 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:10:31 ]
horse.txtが無いんじゃね?

995 名前:デフォルトの名無しさん [2007/08/06(月) 23:11:32 ]
errno調べてみ

996 名前:987 mailto:sage [2007/08/06(月) 23:16:06 ]
horse.txtはあります。
今まで動いていたプログラムもファイルが開かなくなりました。
ライトファイルはできます。

997 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:18:07 ]
どっか別のアプリケーションがファイルを開いてるんじゃない?
アプリケーションを全部終了するか、最悪OS再起動したら直るんじゃないかね。

998 名前:987 mailto:sage [2007/08/06(月) 23:19:45 ]
と思って再起動したんですが直りませんでした。

999 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:22:17 ]
errno !!!

1000 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:26:49 ]
次スレ!!!
pc11.2ch.net/test/read.cgi/tech/1186410368/



1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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