open(const char *pathname,int flags)
通常都是这么用的fd=open("/tmp/s.txt",O_RD)
我想自己输入路径到某个变量里
scanf("%s",path)
fd=open("path",O_RD),提示找不到文件。难道我每次打开哪个文件都得重新编写.C文件么。
linux 下open函数中路径可否用变量代替,怎样代替。有高手解答一下么,头痛死了。谢谢帮忙
答案:2 悬赏:0 手机版
解决时间 2021-04-06 12:16
- 提问者网友:动次大次蹦擦擦
- 2021-04-06 06:09
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-04-06 07:20
使用命令行参数,如test /tmp/s.txt,参数argv[1],即为/tmp/s.txt
将下面的程序编译为test 即可实现在命令行输入文件名。
int main(int argc,char *argv[])
{
FILE *fp;
char s;
printf("argument:%s\n",argv[1]);
fp = fopen (argv[1],"rt+");
while(!feof(fp))
{
s=fgetc(fp);
printf("%c",s);
}
fclose(fp);
}
将下面的程序编译为test 即可实现在命令行输入文件名。
int main(int argc,char *argv[])
{
FILE *fp;
char s;
printf("argument:%s\n",argv[1]);
fp = fopen (argv[1],"rt+");
while(!feof(fp))
{
s=fgetc(fp);
printf("%c",s);
}
fclose(fp);
}
全部回答
- 1楼网友:空山清雨
- 2021-04-06 08:10
你好!
函数这个真是不懂,安全方面懂点!
我的回答你还满意吗~~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯