用Linux写:myprocess数一个文本文件里单词的个数、空格的个数,指定用main函数
时间: 2024-05-15 20:17:22 浏览: 71
来运行的话应该是这样的:
```c++
#include <stdio.h>
#include <ctype.h>
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Usage: %s <filename>\n", argv[0]);
return 1;
}
FILE *fp = fopen(argv[1], "r");
if (!fp) {
printf("Error opening file %s\n", argv[1]);
return 1;
}
int word_count = 0;
int space_count = 0;
int c;
bool prev_char_is_space = true;
while ((c = fgetc(fp)) != EOF) {
if (isspace(c)) {
if (!prev_char_is_space) {
word_count++;
}
space_count++;
prev_char_is_space = true;
} else {
prev_char_is_space = false;
}
}
fclose(fp);
printf("Word count: %d\n", word_count);
printf("Space count: %d\n", space_count);
return 0;
}
```
这个程序通过命令行参数指定要处理的文件名,打开文件后遍历文件内容,统计单词数和空格数。具体实现方法是遍历每个字符,如果是空格则判断是否为单词结束,如果是单词字符则标记为单词进行中,如果前一个字符是空格则标记为新单词开始。最后输出结果即可。
阅读全文