C语言文件路径的一点心得
C语言程序在涉及路径的代码中,主要会涉及到windows和linux这两大平台的差异。
在windows平台下,其路径的主要形式为:
H:\MyDrivers\backup
在linux平台下,其路径主要形式为: /home/MyDrivers/backup
在windows平台中,其也接收linux风格的路径。但是在linux中传入windows风格路径会出现问题。我的解决办法就是通用使用linux风格的路径,这样有利于跨平台移植。
void linux_style_path(char * path)
{
int path_len = 0;
int i = 0;
char chr;
path_len = strlen(path);
for(i = 0;i<path_len ;i++)
{
chr = path[i];
if(chr == "\")
{
path[i] = '/';
}
}
}
其中有点需要特别说明的是:
在windows平台中传入路径,需要加转义符号
char path[] = "H:\MyDrivers\backup";
FILE* fp = fopen(path,"w");
这样肯定会出错,因为实际传入的路径是:H:MyDriversbackup
所以,在windows平台中需要传入:
char path[] = "H:\MyDrivers\backup";
FILE* fp = fopen(path,"w");
如果转成linux风格路径就完全没得问题哈!
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 银河驿站
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果