gpt4 book ai didi

c - 在 C 中使用 fopen() 指定文件名时,/、//、\、\\有何意义?

转载 作者:行者123 更新时间:2023-11-30 21:30:40 24 4
gpt4 key购买 nike

我把我的程序放在下面。我正在尝试使用两种方式之一以不同格式给出同一文件的名称,从而在屏幕上打印文本文件的内容 –

1.使用硬编码的文件名

2.按用户获取文件名(用户输入地址)

#include <stdio.h>
#include <conio.h>
#include <string.h>

void main()
{
FILE *fp;
char ch;
// char str[30] = "d:\CPRog//triAl.tXT";
// char str[30] = "d:\Cprog//triAl.txt";
// char str[30] = "d:\CPRog\\triAl.tXT";
// char str[30] = "d:/\CPROG//triAl.tXT";
// char str[30] = "d:\\CPRog\\triAl.tXT";
// char str[30] = "d:/CPRog//triAl.tXT";
// char str[30] = "d:\CPRog/triAl.tXT";
// char str[30] = "d:/CPRog/triAl.tXT";
// char str[30] = "d:\CPRog/triAl.tXT";

char str[30] = "D:\Cprog\trial.txt";

clrscr();

// printf("\nEnter path of file to open : ");
// gets(str);
fp = fopen(str,"rt");
if(fp == NULL)
{
printf("\nError in opening file !");
getch();
exit();
}
while(!feof(fp))
{
ch = fgetc(fp);
fputc(ch,stdout); // Print the character on screen.
}
fclose(fp);
getch();
}

如果是硬编码地址,程序将打印所有注释格式的文本文件内容。它显示消息

打开文件时出错!

当前的硬编码地址。

<小时/>

如果是用户输入地址,我尝试过这些 –

  1. D:\cprog\Trial.txt:打印文件内容。

  2. D:\cprog\\Trial.txt:打印文件内容。

  3. D:/cprog//Trial.txt:打印文件内容。

  4. D:/cprog/\Trial.txt:打印文件内容。

  5. D:/cprog/Trial.txt:打印文件内容。

  6. D:\\cprog\\Trial.txt:无输出

  7. D://cprog//Trial.txt:无输出

  8. D:\\cprog\Trial.txt:无输出

  9. D://cprog/Trial.txt:无输出

为什么硬编码和用户输入方法的指定地址格式不同?另外,为什么有些格式显示输出,而有些则不在这两种方法中?指定地址时/、\、//、\、/\有何意义?

最佳答案

我认为 / 很好,或者 \\ 也不错,但 \ 是一个特殊字符,因为它用于转义特殊字符。因此,\t(例如)是一个选项卡(在源代码中)。如果用户键入“\t”,您将得到相当于“\”和“t”的结果。

关于c - 在 C 中使用 fopen() 指定文件名时,/、//、\、\\有何意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com