用C语言计算文件x.txt的行数
时间: 2024-10-01 14:05:36 浏览: 25
在C语言中,可以使用标准库函数`fopen`、`fgets`以及`fclose`来读取文件并逐行计数。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int count_lines(char *filename) {
FILE *file = fopen(filename, "r"); // 打开文件以读模式
if (file == NULL) { // 检查文件是否成功打开
perror("Error opening file");
return -1;
}
int line_count = 0;
char buffer[1024]; // 用于存储一行文本
while (fgets(buffer, sizeof(buffer), file)) { // 逐行读取
line_count++;
}
fclose(file); // 关闭文件
// 如果到达文件结尾而未读到换行符,则最后一行可能没有结束符,需要额外处理
if (feof(file) && strlen(buffer) > 0 && buffer[strlen(buffer)-1] != '\n') {
printf("Last line might not be terminated with newline.\n");
line_count--;
}
return line_count; // 返回行数
}
// 示例用法
int main() {
char filename[] = "x.txt";
int line_count = count_lines(filename);
if (line_count >= 0) {
printf("The file %s contains %d lines.\n", filename, line_count);
}
return 0;
}
阅读全文