
A 回答 (4件)
- 最新から表示
- 回答順に表示

No.4
- 回答日時:
直接の原因かどうかは、入力ファイルが提示されていないので、判りませんが、危ないところを指摘しておきます。
while(fscanf(fp2,"%d",&i) != EOF){
cw[i]++; ・・・iは0<=Nの範囲内でないと、メモリ破壊を起こします。
そのチェックがされていません。
for (c = 1; c <=ww ; c++){ ・・・wwはN以内でないといけないが、Nを越えている可能性があります。
fprintf(fp1,"%d ",rw[c]);
}
1.上記の2点で、もし、正常範囲を逸脱したら、画面にその内容を表示して、プログラムを停止するように、してください。
2.もし、1で停止した場合は、iとwwを正常範囲に強引に書き換えて、継続するように、プログラムを修正してください。
No.1
- 回答日時:
ソースコードを見せてください。
この回答への補足
ソースコードです。
ちなみにSolarisでは問題なかったです。
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
int i,m,ww,temp,c,rm,cm,rmt,cmt;
int N;
int *rw,*cw;
FILE *fp1,*fp2;
N=atoi(argv[1]);
rw = (int*)malloc(sizeof(int)*(N+1));
cw = (int*)malloc(sizeof(int)*(N+1));
for (m = 0; m <= N; m++){
rw[m]=cw[m]=0 ;
}
temp=0;
ww=1;
if ((fp2 = fopen("test.txt","r")) == NULL){
exit(-1);
}
while(fscanf(fp2,"%d",&i) != EOF){
cw[i]++;
if(temp<i){rw[ww]=rw[ww]+1;}
if(temp>=i){ww++;rw[ww]=rw[ww]+1;}
temp=i;
}
fclose(fp2);
rm=rw[1];
for (m = 2; m <= ww; m++){rmt=rw[m];
if(rm<rmt){rm=rmt;}
}
cm=cw[1];
for (m = 2; m <= N; m++){cmt=cw[m];
if(cm<cmt){cm=cmt;}
}
fp1 = fopen("result.txt","w");
fprintf(fp1,"%d %d\n",N,ww);
fprintf(fp1,"%d %d\n",rm,cm);
for (c = 1; c <=ww ; c++){
fprintf(fp1,"%d ",rw[c]);
}
fprintf(fp1,"\n");
for (c = 1; c <=N ; c++){
fprintf(fp1,"%d ",cw[c]);
}
fprintf(fp1,"\n");
fclose(fp1);
return (0);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
Wordファイルの結合
-
SGファイルって何ですか?
-
dataファイルをxtxファイルにす...
-
営業秘密の漏洩について
-
OpenDialog1->FileNameについて
-
CSVファイルへの保存の際、デー...
-
アプリケーション終了時例外エ...
-
Thunderbirdでemlファイルを開...
-
C言語のfopenについて教えてく...
-
iniファイルに追記がしたいです。
-
複数ファイルごとに文字列の置...
-
ファイル名の先頭にアンダース...
-
VBに、Cのincludeのようなもの...
-
【C#】リソースファイルの埋め...
-
「VBScript」ADODB.Streamにお...
-
ファイルの結合
-
Excelマクロでの再読込み方法
-
ASP .NETでファイル選択ダイア...
-
VB6でのファイル作成方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
営業秘密の漏洩について
-
vba ActiveSheet.pasteを使った...
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
SGファイルって何ですか?
-
テキストファイルの最終行を削...
-
CSVファイルへの保存の際、デー...
-
バッチで118項目のCSVを処理し...
-
Thunderbirdでemlファイルを開...
-
ファイルの結合
-
ダイアログボックスで複数フォ...
-
SAVファイル等について
-
最近使ったファイルからファイ...
-
VBAにてEXCEL以外のファイル(テ...
-
グローバル変数のよくない使い...
-
Cでのネットワークファイルの読...
-
「VBScript」ADODB.Streamにお...
-
RPGでファイル名(もしくはレコ...
-
BI書、FD書 とは
おすすめ情報