ファイルを読み取って行の一部の文字を削除するのに苦労しています。文字を削除する方法はありますが、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"); 私はそれを使用することができます、
だから私はこのようにcharを印刷するという考えを得る
for (i=0, i < 200; i++) printf(パス[i]);
最初のケースでは、出力の ("/home/ubu/myDocs") の後に奇妙な文字が表示されましたが、2 番目のケースではそのようなものは取得されず、うまく機能しました。何をすべきか理解できません。インターネットで非常に多くの方法に従いましたが、同じことが起こりました。何が起こったのか説明し、解決策を教えてください
ps最初のケースでchdirの戻り値が<0であることがわかりました。つまり、パスが間違っていることを意味しますが、パスと何か役に立たないもので構成されています
ありがとう