- C/C++の宿題片付けます 168代目
370 :デフォルトの名無しさん[sage]:2015/01/13(火) 19:45:31.17 ID:UH4NPipk - >>368
// ASCII, LF, ファイルの最後にLFが必ずあることを想定。ついでに文字数もクリアしているはず。動かなくても文句なし。 #include <ctypes.h> #include <stdio.h> int main(int argc, char *argv[]) { FILE *p; int c, u, l, d, n; if (argc != 2) { printf("使用方法: %s <ファイルパス>\n", argv[0]); return -1; } p = fopen(argv[1], "r"); if (p < 0) { perror("入力"); return -1; } u = l = d = n = 0; while ((c = fgetc(p)) != EOF) { if (isupper(c)) u++; else if (islower(c)) l++; else if (isdigit(c)) d++; else if (c == '\n') n++; } if (fclose(p)) perror("入力"); printf("大文字:%d 小文字:%d 数字:%d 行数:%d\n", u, l, d, n); return 0; }
|