首页 > 代码库 > C语言有GetOpenFile吗?
C语言有GetOpenFile吗?
windows中有个GetOpenFile的函数,就是上面那个啦!!我们怎么来实现呢?要我用C语言写出来我真的跪了。。但是我们可以输入文件的【绝对路径】,配合fopen函数来实现的。。
注意问题
①文件名中可能有空格,用scanf函数来输入文件路径不太好,他遇到空格会停止。。解决:我们用gets来输入,记得fflush(stdin)。。
②那就是最重要的问题了,转义字符,,C语言的fopen中需要用【\\】或【/】分开文件级。。如果我们输入
【C:\Program Files\Microsoft Visual Studio\MyProjects\检验是否建错\信息.txt】。。我们该怎样转换成
【C:/Program Files/Microsoft Visual Studio/MyProjects/检验是否建错/信息.txt】这样呢?
void otherFile(char buffer[256]){ FILE *fp; char ch=‘\\‘; int i,j=0; for(i=0;buffer[i]!=‘\0‘;i++) { if(buffer[i]==ch) { buffer[j++]=‘\/‘; } else { buffer[j++]=buffer[i]; } } buffer[j]=‘\0‘; fp=fopen(buffer,"r"); if(NULL==fp) { system("cls"); printf("can not open the file"); Sleep(3000); return; }/*//OK了*/ }
特别注意用char ch=‘\\‘;这里第一个斜杠是转义字符来的。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。