我正在努力读取文件并删除行中的一些字符,我可以以任何方式删除字符,但是 char * 包含很多未知的东西。
这是我的文件里面。只有一条线
localpath=/home/ubu/myDocs
在我的代码中
#include <stdio.h>
#include <strings.h>
char *path;
int main()
{
static const char filename[] = "pathFile";
FILE *file = fopen ( filename, "r" );
if ( file != NULL )
{
char line[512];
while ( fgets ( line, sizeof line, file ) != NULL ) // read a line
{
fputs ( line, stdout ); // write the line
path = strchr(line,'=') +1 ;
}
fclose ( file );
}
else
{
perror ( filename ); // why didn't the file open?
}
}
但问题是我不能使用路径,例如 chdir(path); 不工作,但如果我像这样使用 strcpy(path,"/home/ubu/myDocs"); 我可以用,
所以我想我像这样打印字符
for (i=0, i < 200; i++) printf(path[i]);
在第一种情况下,我在输出中的 ("/home/ubu/myDocs") 之后得到了一些奇怪的字符,但在第二种情况下,我没有得到那种东西,而且效果很好。我不明白该怎么办,我在互联网上遵循了很多方法,但同样的事情发生了,请解释一下发生了什么并给我一些解决方案
ps 我发现在第一种情况下 chdir 返回值 < 0,这意味着路径是错误的,不,,但它包含路径和一些无用的东西
谢谢