📅  最后修改于: 2023-12-03 15:00:13.099000             🧑  作者: Mango
在编写C程序时,我们经常需要处理文件数据。其中一个常见问题是打印文件中的文本行。本文将介绍如何以C程序打印文件的奇数行内容,后跟偶数行内容。
在C中,要读取文件,必须使用文件指针。下面的代码演示了如何打开文件并读取它的内容。
#include <stdio.h>
#include <stdlib.h>
int main() {
char filename[] = "example.txt";
FILE *fp;
char ch;
// 打开文件
if ((fp = fopen(filename, "r")) == NULL) {
printf("Failed to open file: %s\n", filename);
exit(EXIT_FAILURE);
}
// 读取文件
while ((ch = fgetc(fp)) != EOF) {
printf("%c", ch);
}
// 关闭文件
fclose(fp);
return 0;
}
在上面的代码中,我们使用了fopen
函数打开了一个名为example.txt
的文件。如果打开失败了,程序会输出一个错误信息,并退出运行。然后,我们使用fgetc
函数逐个字符读取文件的内容,并将其输出到控制台上。最后,我们使用fclose
函数关闭了文件。
接下来,我们要成为这个程序的核心,打印文件的奇数行和偶数行内容。下面是代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
char filename[] = "example.txt";
FILE *fp;
char line[1024];
int i=1;
// 打开文件
if ((fp = fopen(filename, "r")) == NULL) {
printf("Failed to open file: %s\n", filename);
exit(EXIT_FAILURE);
}
// 读取文件并打印奇数行和偶数行
while (fgets(line, 1024, fp) != NULL) {
if (i % 2 != 0) { // 打印奇数行
printf("Odd Line: %s", line);
} else { // 打印偶数行
printf("Even Line: %s", line);
}
i++;
}
// 关闭文件
fclose(fp);
return 0;
}
在上面的代码中,我们使用了fgets
函数逐行读取文件的内容,然后使用printf
函数打印每行的内容。如果行号是奇数,我们就打印"Odd Line"和这一行的内容。如果行号是偶数,我们就打印"Even Line"和这一行的内容。
本文介绍了如何以C程序打印文件的奇数行内容,后跟偶数行内容。我们首先学习了如何读取文件,然后演示了如何打印奇数行和偶数行。这个程序可以扩展到处理更多有趣的文本文件。