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=‘\\‘;这里第一个斜杠是转义字符来的。。
C语言有GetOpenFile吗?,布布扣,bubuko.com
时间: 2024-10-10 00:12:38