用c++将一个文件一行一行读取出来
时间: 2023-09-22 14:10:41 浏览: 151
下面是一个例子,使用C语言将一个文件一行一行读取出来:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char line[100];
// 打开文件
fp = fopen("file.txt", "r");
// 逐行读取并输出
while (fgets(line, sizeof(line), fp)) {
printf("%s", line);
}
// 关闭文件
fclose(fp);
return 0;
}
```
在这个例子中,我们首先通过 `fopen()` 函数打开文件,然后使用 `fgets()` 函数逐行读取文件内容,最后使用 `printf()` 函数输出每一行的内容。需要注意的是,`fgets()` 函数会把每一行的末尾的换行符也读取进来,因此需要在输出时使用 `%s` 转换说明符,而不是 `%f` 或其他类似的说明符。
如果你想要在读取文件时忽略某些特定的字符,可以使用 `fscanf()` 函数,但需要注意的是,这个函数会把换行符也当做字符来读取,因此需要在格式字符串中使用 `%[^特定字符]` 来忽略换行符,例如:
```c
while (fscanf(fp, "%[^,\n]", line) != EOF) {
printf("%s", line);
}
```
这个例子中,我们使用了 `%[^,\n]` 格式字符串来忽略逗号和换行符,以达到逐行读取文件的目的。
阅读全文