一般情况下,如果文件在程序运行的当前目录,直接使用可以的
从通用性上来看,一般需要把文件路径转换成绝对路径,然后再使用,这样不会因为使用一些影响程序当前路径的API,导致程序不正常。
比如:即使文件在当前目录下,也会取得得当目路径,然后再加上文件名,这样就不会出现因为改变当前路径,而打开文件失败
#include <stdio.h>
#include <string.h>
#include <conio.h>int main(void)
{
FILE *fp;
char string[] = "This is a test just for you!";
char C;
int i = 0; /* 打开一个名为test.txt的文本文件*/
if((fp = fopen("test.txt", "w+")) == NULL){
printf("open file error!");
return 0;
}
/* 将string[]中的字符输入到文件中 */
fwrite(string, strlen(string), 1, fp);
fseek(fp, 0, SEEK_SET);//将文件指针的游标定位在文件开始处 准备从文件中读取内容
C = fgetc(fp); //读取一个字节
printf("从文件指针fp的指的文件中读取一个字符送入字符变量C中: %c\n",C);
memset(string,0,sizeof(string));
for(i = 0; i < 5; i++){
C = fgetc(fp);
string[i] = C;
}
string[i] = '\0';
printf("从文件指针fp的指的文件中读取一个长度为5的文件串送入str的指的内存中:%s\n",string); //将文件位置指针从当前位置向前移到5个字节
//此处理解为从当前位置向前移动5个字节,如果没有向前偏移的话应该输出 "s a test just for you!"
fseek(fp,-5,SEEK_CUR); do
{
C = fgetc(fp);
putch(C);
}while (C != EOF); fclose(fp);
return 0;
}