demo:
#include <iostream>
#define N 100
int main()
{
FILE *fp;
//fp = fopen("D:\\C++Test\\demo.txt", "r");
fp = fopen("../demo.txt","r");//这里注意,项目中的相对路径是从可执行文件开始的
//判断文件是否打开
if(fp == NULL){
printf("Fail to open file!\n");
exit(0);
}
char str[N + 1]; //这里加1,因为fgets函数读取字符时会在末尾用\0填充
//循环读取,fgets()遇到换行符就结束读取
while(fgets(str, N, fp) != NULL){
printf("%s", str);
}
//关闭文件
fclose(fp);
return 0;
}
总结
这里要注意两点,一个是注意fopen打开相对路径文件还是绝对路径文件,二是fgets函数读取字符时会在末尾用“\0”填充,且遇到“\n”就停止了。