これは、これはprint.c
#include <stdio.h>
int wc(FILE *pointer)
{
int a;
int character=0,word=0,line=0;
a = getc(pointer);
while (a != EOF)
{
character++;
if (a == ' ')
word++;
if (a == '\n')
line++;
a = getc(pointer);
}
printf("character: %4d, word: %4d, line: %4d \n", character,word,line);
return 0;
}
これはword.c
あるmain.cのあります
gcc -c print.c
gcc -c word.c
gcc -c main.c
gcc -o main main.o print.o word.o
./main
text.txt
text.txt
segmentation fault (core dumped)
これは私が使用した方法をコンパイルしています。
しかし、私はなぜセグメンテーションフォルト(コアダンプされた)があるのか分かりません。
私を助けてください。
すべての警告とデバッグ情報とともにコンパイルします。 'gcc -Wall -Wextra -g'です。デバッガ 'gdb'を使います。 fix-my-codeの質問は話題にはなりません。使用しているすべての標準機能について読む:[fopen(3)](http://man7.org/linux/man-pages/man3/fopen.3.html) - その他の多くの機能は失敗する可能性があります。それが[ここ](https://stackoverflow.com/a/18193383/841108)が好きではないことをテストしてください –
画像の代わりにテキストを投稿する方が良いでしょう。 –
一方で、ファイルを間に閉じずに2回開きます。 –