输入部分文件名,打开文件(C语言)帮帮忙~~~T_T

来源:百度知道 编辑:UC知道 时间:2024/05/23 09:43:25
输入某个文件的一部分,但是可以把整个文件都打开

例如有很多个文件名为:

A.0000.20080401
B.0000.20080402
C.0000.20080403

如何在命令行只输入0401
就打开A.0000.20080401这个文件?
好难。。不懂。。。没有简单点的吗?

文件都是在指定目录下的,而且会根据需要增加文件,数目不固定

=。= 前面的部分都是一样的,只有后面几个表示日期的不一样。。偶。。是不是很笨啊T_T

人都晕死,搞了半天这么简单的东西,你把他说得这么难,唉

用sprintf函数就可以搞定了

char a[10]={0},b[30]={0};
scanf("%s",a);
sprintf(b,"A.0000.2008%s",a);
然后B就是你要的那个了,你用FOPEN命令打开B这个文件就可以了

这是必须步骤,没办法,不管你增加多少文件,都没问题,因为我的算法里是遍历的整个目录,不会漏的

给你说算法,自己找资料

让你说的应该是指某目录,应该不会是整个计算机吧

遍历该目录,把所有的文件名都保存到一个字符串数组中,然后用KMP算法找到匹配的文件名,然后打开此文件名OK,工作量有点大,不是简单的事

你的文件名除了401,402等等前面部分都是一样的么? 一样的话直接用strcat补全...

当然应该是会变的吧?
1. 先列出所有的文件名,下面这个程序是打印出指定目录下文件名
=========================
函数名: findfirst, findnext
功 能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件
用 法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib);
int findnext(struct ffblk *ffblk);
程序例:
=======================================
/* findnext example */
#include <stdio.h>
#include <dir.h>

int main(void)
{
struct ffblk ffblk;
int done;
printf("directory listing of *.*\n"

在C语言中怎样让用户输入文件名来打开一个文件? 为什么c#opendialog打开的是文件名,而不是文件内容 打印文件时需要输入文件名是什么原因 C语言中的fopen()函数打开文件时,文件名有什么限制吗? (由用户操作)在C语言中输入一个文件名之后打开该文件,请问应该怎么编写? 我的电脑c盘里有个打开方式的文件,文件名是“1”是DAT文件,怎么回事啊 文件名.pud.cfg的文件怎么打开? C++:头文件中只有声明,编译器怎么找到定义放在哪的?它又怎么知道定义部分所在文件的文件名是什么? 有谁知道电脑文件部分文件名用蓝色显示是什么意思? 用C语言做 输入几个同学的姓名、学号、三门功课成绩,写入到磁盘文件中(文件名自定)