在C语言中文件路径要用到的"\"需要使用转义字符
比如我要打开windows下的 "d:\text1.txt"这个文件
包含路径的文件名应该是 "d:\\text1.txt"
现在假定我要编一个程序,需用户输入完整的文件路径,然后获取用户输入的字符串,打开指定文件。
但是这就需要用户输入"d:\\text1.txt" ,这似乎不符合常规的书写习惯,
请问怎样实现在用户输入"d:\text1.txt"的情况下依然能是程序正确打开文件?
由于本人初学,问题可能比较浅浮,但本人也是思索良久而找不解决的办法,希望各位高手不吝指教,解答小弟的疑惑!
6 个解决方案
#1
当检测到有‘\’输入时,自行拷贝一个‘\’这样就可以了。
#2
对字符串判断,如果有'\',给它补成'\\'
#3
用"\\"替换'\'
#4
输入的时候,直接输一个反斜杠就行了。
程序运行的时候,已经被编译成可执行文件了。而反斜杠转义,那只是C语言的语法规定,是关于如何写源代码的。跟可执行文件没有关系。
程序运行的时候,已经被编译成可执行文件了。而反斜杠转义,那只是C语言的语法规定,是关于如何写源代码的。跟可执行文件没有关系。
#5
对,用户输入只需要按原有的文件路径输入就可以了,不需要转义
#6
谢谢各位的解答!
#1
当检测到有‘\’输入时,自行拷贝一个‘\’这样就可以了。
#2
对字符串判断,如果有'\',给它补成'\\'
#3
用"\\"替换'\'
#4
输入的时候,直接输一个反斜杠就行了。
程序运行的时候,已经被编译成可执行文件了。而反斜杠转义,那只是C语言的语法规定,是关于如何写源代码的。跟可执行文件没有关系。
程序运行的时候,已经被编译成可执行文件了。而反斜杠转义,那只是C语言的语法规定,是关于如何写源代码的。跟可执行文件没有关系。
#5
对,用户输入只需要按原有的文件路径输入就可以了,不需要转义
#6
谢谢各位的解答!