私はCforLinuxの初心者ですが、プログラムが機能せず、問題が発生しないため、サポートが必要です。
これは私のプログラムです。このプログラムは、標準入力から単語、行、文字をカウントします。' '
ただし、、'\t'
またはがある場合はカウントされません'\n'
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
void panic (char *str){
char s [100];
sprintf (s, "%s (%d %s)\n", str, errno, strerror (errno));
write (222, s, strlen (s));
exit (1);
}
int main (int argc, char *argv[]){
char c;
unsigned lines =1;
int n;
int letters =0;
int words =0;
int countLin=0;
int countLet=0;
char resultLine=[100];
while ((n = read (0, &c, 1))> 0){
if(c!=' '&&c!='\t'&&c!='\n'){
letters++;
if(countLet!=0){
words++;
countLet=0;
}
if(countLin!=0){
lines++;
words++;
countLin=0;
}
}
if(c==' '||c=='\t')
countLet++;
if(c=='\n')
countLin++;
}
if (n<0)
panic ("Read");
sprintf (resultLine, "%d %d %d \n", lines, words, letters);
if(write(1,resultLine, strlen(resultLine))<0)
panic("Write");
return (0);
}
どうもありがとう