在C#中,当您需要处理文件时,可以使用@符号来避免更改文件名中的“ \”。
示例:
string fileName = @"C:\Users\username\Documents\text.txt";
但是在C语言中,我不能使用@符号。因此,我必须将“ \”替换为“ /”或使用“ \\”:
fopen = ("C:/Users/username/Documents/text.txt","r");
或
fopen = ("C:\\Users\\username\\Documents\\text.txt","r");
C中是否有一些技巧可以避免所有这些工作?
答案 0 :(得分:1)
在大多数情况下,请不要在源文件中放置绝对文字路径名,尤其不要使用Windows特定符号的绝对路径名。从某种类型的输入数据加载或构造路径名,以使您的程序不会锁定在您开发它的盒子的文件系统布局中。
答案 1 :(得分:-1)
您可以编写一个小的辅助函数,以将所有的退格键转换为正向空格。
void fileconvert(char *filename)
{
while(*filename !='\0')
{
if (*filename == '\')
{
*filename = '/';
}
filename++;
}
}
您可以按以下方式使用它。
FILE *fp;
char filename[] = "C:/Users/username/Documents/text.txt";
fileconvert(filename);
fp = fopen(filename,"r");
这可能是@
运算符在C#
中的工作方式