我阅读了我能找到的所有帖子,但找不到确切的答案 - 所以我希望这不会被视为重复。
我的作业需要读入一个文件,进行一些字符串比较,并打印出该文件的名称。
这是非常基本的,输出只是以下格式:
*File where answer was found*
**Input1.txt** < file name
当我读入文件时,有什么方法可以将文件名保存为字符串吗?我对 C 还很陌生,所以我找到的很多答案(从文件描述等中获取)都超出了我的理解范围。
谢谢!
编辑 - 对于我提供的信息不足表示歉意。我这样想太多了。我正在寻找的东西很简单:
char filename[] = "input1.txt";
FILE *input = fopen("input1.txt","r");
最佳答案
好吧,为了打开一个文件,您必须将其名称(char *)作为参数传递给 fopen 或 open ...
那么为什么不保留该字符串(文件名),直到完成关键字查找并在需要时显示它。
例如,如果您打开这样的文件:
char 文件名[] = "file.txt";
FILE *fp = fopen(filename,"r");
//打开文件名进行读取
//这里检查文件是否包含关键字 //如果是这种情况,则显示文件名
printf("%s",文件名);
如果您使用系统调用“open”,一切都会相同,但您将处理文件描述符而不是文件指针。
有关更多信息,请阅读 fopen/open 的手册。
关于c - 将输入文件名保存为字符串? C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29663804/