C函数获取文件名并传递给菜单驱动程序中的Caesar cipher函数

C函数获取文件名并传递给菜单驱动程序中的Caesar cipher函数,c,function,C,Function,对于如何编写一个函数来获取文本文件的文件名,并将该名称传递给另一个函数,该函数使用该名称打开文本文件进行读取,并对其执行Caesar密码加密,我感到有点困惑。我已经在Stack Overflow和internet上搜索过了,但还没有找到这个特定问题的答案 我没有使用命令行参数。我将此程序函数与scanf一起使用,以将文件名转换为字符串变量。函数原型位于头文件中 我也不确定什么时候打开这个文件。我应该在文件名功能、加密功能中打开它,还是在菜单开关盒所在的main中打开它 另一件事是,如果文件未在文

对于如何编写一个函数来获取文本文件的文件名,并将该名称传递给另一个函数,该函数使用该名称打开文本文件进行读取,并对其执行Caesar密码加密,我感到有点困惑。我已经在Stack Overflow和internet上搜索过了,但还没有找到这个特定问题的答案

我没有使用命令行参数。我将此程序函数与
scanf
一起使用,以将文件名转换为字符串变量。函数原型位于头文件中

我也不确定什么时候打开这个文件。我应该在文件名功能、加密功能中打开它,还是在菜单开关盒所在的
main
中打开它


另一件事是,如果文件未在文件名函数中打开,我不确定如何在文件名函数中检查文件名是否正确。

要获取文件名,只需从用户处获取一个字符串即可

char* filename[50];
scanf("%s",filename);
FILE* file = fopen(filename,"r+");
您现在有了可以使用的文件。 使用
fscanf
可以从类似于使用scanf的

fscanf(file,"%s", code);

对于其他内容,这属于您的项目范围,您需要自己解决。

欢迎使用Stack Overflow。请现在就读这两页。请不要把这样的文字墙当作问题。试着读那本书是很吓人的。把它分成几段。(我只是为你做了这件事——现在你需要向我们展示你在代码方面得到了什么)。您可以编写代码,在从
main()
调用的一个函数中打开文件(它也将处理错误消息等);您可以编写另一个函数来读取文件中的行;你可以编写另一个函数来加密文本。我的程序已经取得了很大的进展。谢谢大家的帮助。我还有两个其他功能的问题。我很难理解这个函数,我试图让用户查看文件,但只查看文件的前十行。