使用键盘输入打开文件 编写一个C程序,向用户询问文件的名称(名称可能包含 目录路径)并尝试打开该文件。程序显示消息“文件 打开!“或”打开文件时出错“(程序没有读取文件,只是试图打开 它)。使用gets()来获取用户的输入
因此,使用下面的代码,我尝试读取文件目录路径,然后将此文件目录路径复制到fopen(),然后确认文件是否已打开。用户使用gets()。
输入文件目录路径#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char directory[100];
printf("Please enter the directory path of the file you wish to open.\n");
gets(directory);
fp = fopen("%s,directory","r");
if(fp==NULL)
{
printf("\nCannot open file.");
}
else
{
printf("\nFile open!");
}
return 0;
}
无论我放入什么都不起作用,我直接从我创建的其他程序中复制了文件目录路径,我知道工作。有任何想法吗?
答案 0 :(得分:1)
fp = fopen(“%s,目录”,“r”);
这真令人困惑。你为什么使用%s
和“”?只需直接使用directory
作为参数即可。 e.g。
fopen(directory, "r"); // make sure _directory_ refers to file for this function to succeed
gets
也被视为dangerous。