C程序中文件路径问题?

C程序中文件路径问题?,第1张

C 语言 最早 用于 unix.

unix 的路径 是用 正斜杠 /, linux 继承 unix 用 正斜杠,

网页 html 等 也是用 正斜杠.

反斜杠,计算机 软件 用于 “转义”.

可是垄断了微机 *** 作系统的微软,路径 用的是 反斜杠 \. 所以在视窗系统的C程序中写文件路径时,不得不用 “双反斜杠”,第一个反斜杠叫 “转义”(就是下一个字符作特殊解释),“双反斜杠”解释为路径。

理论上 "xxx/xx"与"xxx\\xx" 没有什么区别,但不是所有编译器都懂。总之,微软系统你用 “双反斜杠”保险。

windows下文件路径是用\分隔的,比如C:\Windows\System32\就是一个标准的windows路径。

在C语言中,文件路径会被写作字符串形式,但是由于C语言的字符串规则中,\字符是转义字符的引导,所以直接写

"C:\Windows\System32\"

会出错。而字符'\\'才是表示\。

于是在写路径的时候,就必须是

"C:\\Windows\\System32\\"

即,写成单独的\的,是windows的标准形式,而写成\\的,才是C语言中用到的形式。

C语言里

在main函数的第二个参数里面,

保存着当前程序运行的目录

也就是argv[0]

main( int argc, char *argv[])

{

printf("%s ", argv[0] )

}

就是文件当前所在位置

不过需要注意的一点是

这个路径里面保存了当前文件的文件名

如果你只是需要路径的话还需要自己 *** 作一下

main(int a,char *c[])

{

char s[100]

int i

//把路径保存到字符串s里

strcpy(s,c[0])

for(i=strlen(s)i>0 i--)

if( s[i] == '\\')

{

s[i]='\0'

break

}

//找到最后一个 \ 并删除之后的内容

//最后输出的s,就是当前文件的路径了

puts(s)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11935356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存