问题 未解决

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
int c=0;//临时变量。
int cnt = 0; //标记目前读到几个字节。

char * path=get_current_dir_name();
char * filename="/chars";

printf("dir:%s ",path);
path=strcat(path,filename);

printf("path :dir:%s ",path);
//使用path打不开文件
char * path1="/home/phub/gd/core/chars";
printf("path1 :dir:%s ",path1);
printf("path1: %d ,path :%d length ",strlen(path1),strlen(path));
printf("stcmp:%d ", strcmp(path,path1));

const char * path3=path;
// strcpy(path3,path);
printf("path3 :dir:%s ",path3);


// FILE *pf = fopen(path,"r");
// FILE *pf = fopen(path1,"r");
FILE *pf = fopen(path3,"r");
if(pf==NULL) //打开文件。
{
printf("Cannot open file, press any key to exit! ");
exit(1);
}


while(1)
{
c = fgetc(pf); //读一个字节。
if(c == EOF) break; //到文件尾,退出循环。
printf("%d",c);
// buf[cnt] = c;//赋值到字符数组中。
cnt ++;//读到的字符增加一个。
}
fclose(pf);//关闭文件。
return 0;
}


这里path1 path2 path之间的区别,为什作为打开文件的路径只有path1是可以打开的?

原文地址:https://www.cnblogs.com/jiudianren/p/5777455.html