文件名中体现文件内数据|文件名中扩展名表示文件内容的标识而文件主名表示文件的类型

文件名中体现文件内数据|文件名中扩展名表示文件内容的标识而文件主名表示文件的类型的第1张示图

1. 利用c语言编写 读出一文件名为file的内容并显示

不用我做了,看这个就可以了。1.2.1 标准文件函数 标准文件函数主要包括文件的打开、关闭、读和写等函数。不象BASIC 、 FORTRAN语方有顺序文件和随机文件之分, 在打开时就应按不同的方式确定。 Turbo C2.0并不区分这两种文件, 但提供了两组函数, 即顺序读写函数和随机读 写函数。 一、文件的打开和关闭 任何一个文件在使用之前和使用之后, 必须要进行打开和关闭, 这是因为操 作系统对于同时打开的文件数目是有限制的, DOS操作系统中, 可以在DEVICE .SYS中定义允许同时打开的文件数n(用files=n定义)。其中n 为可同时打开的文 件数, 一般n<=20。因此在使用文件前应打开文件, 才可对其中的信息进行存取。 用完之后需要关闭, 否则将会出现一些意想不到的错误。Turbo C2.0提供了打开 和关闭文件的函数。 1. fopen()函数 fopen函数用于打开文件, 其调用格式为: FILE *fopen(char *filename, *type); 在介绍这个函数之;前, 先了解一下下面的知识。 (1) 流(stream)和文件(file) 流和文件 在Turbo C2.0中是有区别的, Turbo C2.0 为编程者和被访问的设 备之间提供了一层抽象的东西, 称之为"流", 而将具体的实际设备叫做文件。 流是一个逻辑设备, 具有相同的行为。因此, 用来进行磁盘文件写的函数也同样 可以用来进行打印机的写入。在Turbo C2.0中有两种性质的流: 文字流( text stream)和二进制(binary stream)。对磁盘来说就是文本文件和二进制文件。本 软件为了便于让读者易理解Turbo C2.0语言而没有对流和文件作特别区分。 (2) 文件指针FILE 实际上FILE是一个新的数据类型。它是Turbo C2.0的基本数据类型的集合, 称之为结构指针。有关结构的概念将在第四节中详细介绍, 这里只要将FILE理解 为一个包括了文件管理有关信息的数据结构, 即在打开文件时必须先定义一个文 件指针。 (3) 以后介绍的函数调用格式将直接写出形式参数的数据类型和函数返回值 的数据类型。例如: 上面打开文件的函数, 返回一个文件指针, 其中形式参数有 两个, 均为字符型变量(字符串数组或字符串指针)。本软件不再对函数的调用格 式作详细说明。 现在再来看打开文件函数的用法。 fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分。 如: "B:TEST.DAT" "C:\\TC\\TEST.DAT" 如果将路径写成"C:\TC\TEST.DAT"是不正确的, 这一点要特别注意。 第二个形式参数表示打开文件的类型。关于文件类型的规定参见下表。 表 文件操作类型 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 字符 含义 ———————————————————————————— "r" 打开文字文件只读 "w" 创建文字文件只写 "a" 增补, 如果文件不存在则创建一个 "r+" 打开一个文字文件读/写 "w+" 创建一个文字文件读/写 "a+" 打开或创建一个文件增补 "b" 二进制文件(可以和上面每一项合用) "t" 文这文件(默认项) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 如果要打开一个CCDOS子目录中, 文件名为CLIB的二进制文件, 可写成: fopen("c:\\ccdos\\clib", "rb"); 如果成功的打开一个文件, fopen()函数返回文件指针, 否则返回空指针 (NULL)。由此可判断文件打开是否成功。 2. fclose()函数 fclose()函数用来关闭一个由fopen()函数打开的文件 , 其调用格式为: int fclose(FILE *stream); 该函数返回一个整型数。当文件关闭成功时, 返回0, 否则返回一个非零值。 可以根据函数的返回值判断文件是否关闭成功。 例10: #iclude<stdio.h> main() { FILE *fp; /*定义一个文件指针*/ int i; fp=fopen("CLIB", "rb"); /*打开当前目录名为CLIB的文件只读*/ if(fp==NULL) /*判断文件是否打开成功*/ puts("File open error");/*提示打开不成功*/ i=fclose(fp); /*关闭打开的文件*/ if(i==0) /*判断文件是否关闭成功*/ printf("O,K"); /*提示关闭成功*/ else puts("File close error");/*提示关闭不成功*/ } 二、有关文件操作的函数 本节所讲的文件读写函数均是指顺序读写, 即读写了一条信息后, 指针自动 加1。下面分别介绍写操作函数和读操作函数。 1. 文件的顺序写函数 fprintf()、fputs()和fputc()函数 函数fprintf()、fputs()和fputc()均为文件的顺序写操作函数, 其调用格 式如下: int fprintf(FILE *stream, char *format, <variable-list>); int fputs(char *string, FILE *steam); int fputc(int ch, FILE *steam); 上述三个函数的返回值均为整型量。fprintf() 函数的返回值为实际写入文 件中的字罕个数(字节数)。如果写错误, 则返回一个负数, fputs()函数返回0时 表明将string指针所指的字符串写入文件中的操作成功, 返回非0时, 表明写操 作失败。fputc()函数返回一个向文件所写字符的值, 此时写操作成功, 否则返 回EOF(文件结束结束其值为-1, 在stdio.h中定义)表示写操作错误。 fprintf( ) 函数中格式化的规定与printf( ) 函数相同, 所不同的只是 fprintf()函数是向文件中写入。而printf()是向屏幕输出。 下面介绍一个例子, 运行后产后一个test.dat的文件。 例11: #include<stdio.h> main() { char *s="That's good news"); /*定义字符串指针并初始化*/ int i=617; /*定义整型变量并初始化*/ FILE *fp; /*定义文件指针*/ fp=fopne("test.dat", "w"); /*建立一个文字文件只写*/ fputs("Your score of TOEFLis", fp);/*向所建文件写入一串字符*/ fputc(':', fp); /*向所建文件写冒号:*/ fprintf(fp, "%d\n", i); /*向所建文件写一整型数*/ fprintf(fp, "%s", s); /*向所建文件写一字符串*/ fclose(fp); /*关闭文件*/ } 用DOS的TYPE命令显示TEST.DAT的内容如下所示: 屏幕显示 Your score of TOEFL is: 617 That's good news 2. 文件的顺序读操作函数 fscanf()、fgets()和fgetc()函数 函数fscanf()、fgets()和fgetc()均为文件的顺序读操作函数, 其调用格式 如下: int fscanf(FILE *stream, char *format, <address-list>); char fgets(char *string, int n, FILE *steam); int fgetc(FILE *steam); fscanf()函数的用法与scanf()函数相似, 只是它是从文件中读到信息。 fscanf()函数的返回值为EOF(即-1), 表明读错误, 否则读数据成功。fgets()函 数从文件中读取至多n-1个字符(n用来指定字符数), 并把它们放入string指向的 字符串中, 在读入之后自动向字符串未尾加一个空字符, 读成功返回string指针, 失败返回一个空指针。fgetc()函数返回文件当前位置的一个字符, 读错误时返 回EOF。 下面程序读取例11产生的test.dat文件, 并将读出的结果显示在屏幕上。 例12 #include<stdio.h> main() { char *s, m[20]; int i; FILE *fp; fp=fopen("test.dat", "r"); /*打开文字文件只读*/ fgets(s, 24, fp); /*从文件中读取23个字符*/ printf("%s", s); /*输出所读的字符串*/ fscanf(fp, "%d", &i); /*读取整型数*/ printf("%d", i); /*输出所读整型数*/ putchar(fgetc(fp)); /*读取一个字符同时输出*/ fgets(m, 17, fp); /*读取16个字符*/ puts(m); /*输出所读字符串*/ fclose(fp); /*关闭文件*/ getch(); /*等待任一键*/ } 运行后屏幕显示: Your score of TOEFL is: 617 That's good news 如果将上例中fscanf(fp, "%d", &i)改为fscanf(fp, "%s", m), 再将其后 的输出语句改为printf("%s", m), 则可得出同样的结果。由此可见Turbo C2. 0 中只要是读文字文件, 则不论是字符还是数字都将按其ASCII值处理。 另外还要 说明的一点就是fscanf()函数读到空白符时, 便自动结束, 在使用时要特别注意。 3. 文件的随机读写 有时用户想直接读取文件中间某处的信息, 若用文件的顺序读写必须从文件 头开始直到要求的文件位置再读, 这显然不方便。Turbo C2.0提供了一组文件的 随机读写函数, 即可以将文件位置指针定位在所要求读写的地方直接读写。 文件的随机读写函数如下: int fseek (FILE *stream, long offset, int fromwhere); int fread(void *buf, int size, int count, FILE *stream); int fwrite(void *buf, int size, int count, FILE *stream); long ftell(FILE *stream); fseek()函数的作用是将文件的位置指针设置到从fromwhere开始的第offset 字节的位置上, 其中fromwhere是下列几个宏定义之一: 文件位置指针起始计算位置fromwhere ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号常数 数值 含义 ——————————————————————————— SEEK_SET 0 从文件开头 SEEK_CUR 1 从文件指针的现行位置 SEEK_END 2 从文件末尾 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ offset是指文件位置指针从指定开始位置(fromwhere指出的位置)跳过的字 节数。它是一个长整型量, 以支持大于64K字节的文件。fseek()函数一般用于对 二进制文件进行操作。 当fseek()函数返回0时表明操作成功, 返回非0表示失败。 下面程序从二进制文件test_b.dat中读取第8个字节。 例13: #include<stdio.h> main() { FILE *fp; if((fp=fopen("test_b.dat", "rb"))==NULL) { printf("Can't open file"); exit(1); } fseek(fp, 8. 1, SEEK_SET); fgetc(fp); fclose(fp); } fread()函数是从文件中读count个字段, 每个字段长度为size个字节, 并把 它们存放到buf指针所指的缓冲器中。 fwrite()函数是把buf指针所指的缓冲器中, 长度为size个字节的count个字 段写到stream指向的文件中去。 随着读和写字节数的增大, 文件位置指示器也增大, 读多少个字节, 文件位 置指示器相应也跳过多少个字节。读写完毕函数返回所读和所写的字段个数。 ftell()函数返回文件位置指示器的当前值, 这个值是指示器从文件头开始 算起的字节数, 返回的数为长整型数, 当返回-1时, 表明出现错误。 下面程序把一个浮点数组以二进制方式写入文件test_b.dat中。 例14: #include <stdio.h> main() { float f[6]={3.2, -4.34, 25.04, 0.1, 50.56, 80.5}; /*定义浮点数组并初始化*/ int i; FILE *fp; fp=fopen("test_b.dat", "wb"); /*创建一个二进制文件只写*/ fwrite(f, sizeof(float), 6, fp);/*将6个浮点数写入文件中*/ fclose(fp); /*关闭文件*/ } 下面例子从test_b.dat文件中读100个整型数, 并把它们放到dat数组中。 例15: #include <stdio.h> main() { FILE *fp; int dat[100]; fp=fopen("test_b.dat", "rb");/*打开一个二进制文件只读*/ if(fread(dat, sizeof(int), 100, fp)!=100) /*判断是否读了100个数*/ { if(feof(fp)) printf("End of file"); /*不到100个数文件结束*/ else printf("Read error"); /*读数错误*/ fclose(fp); /*关闭文件*/ } 注意: 当用标准文件函数对文件进行读写操作时, 首先将所读写的内容放进缓冲区, 即写函数只对输出缓冲区进行操作, 读函数只对输入缓冲区进行操作。例如向一 个文件写入内容, 所写的内容将首先放在输出缓冲区中, 直到输出缓冲区存满或 使用fclose()函数关闭文件时, 缓冲区的内容才会写入文件中。若无fclose() 函数, 则不会向文件中存入所写的内容或写入的文件内容不全。有一个对缓冲区 进行刷新的函数, 即fflush(), 其调用格式为: int fflush(FILE *stream); 该函数将输出缓冲区的内容实际写入文件中, 而将输入缓冲区的内容清除掉。 4. feof()和rewind()函数 这两个函数的调用格式为: int feof(FILE *stream); int rewind(FILE *stream); feof()函数检测文件位置指示器是否到达了文件结尾, 若是则返回一个非0 值, 否则返回0。这个函数对二进制文件操作特别有用, 因为二进制文件中, 文 件结尾标志EOF也是一个合法的二进制数, 只简单的检查读入字符的值来判断文 件是否结束是不行的。如果那样的话, 可能会造成文件未结尾而被认为结尾, 所 以就必须有feof()函数。 下面的这条语句是常用的判断文件是否结束的方法。 while(!feof(fp)) fgetc(fp); while为循环语句, 将在下面介绍。 rewind()函数用于把文件位置指示器移到文件的起点处, 成功时返回0, 否则, 返回非0值。

2. vba的判断文件名,然后提取不同工作表内的数据

你应该是要遍历文件夹下book工作簿,而不应该遍历所有文件,如果不是book文件,会找不到sheet工作表,这样会产生错误的。修改代码如下

Sub遍历文件夹()'Columns(1).DeleteOnErrorResumeNextDimfAsStringDimfile()AsStringDimi,k,x,j&Dimarr()x=1i=1:k=1ReDimfile(1Toi)file(1)=InputBox("请输入要查找的文件夹:")&""DoUntili>kf=Dir(file(i),vbDirectory)DoUntilf=""IfInStr(f,".")=0Thenk=k+1ReDimPreservefile(1Tok)file(k)=file(i)&f&""EndIff=DirLoopi=i+1LoopFori=1Tokf=Dir(file(i)&"*.xls")'查找.xls文件DoUntilf=""'Range("a"&x)=fIffLike"*AAA*"Then'如果文件名包含AAA则打开Workbook.Openfile(i)&fj=j+1ReDimarr(1To6,1Toj)'重新定义数组大小WithWorkbooks(f)'把指定的单元格值赋予数组With.Sheets(1)arr(1,j)=.[X1]arr(2,j)=.[D3]arr(3,j)=.[P3]arr(4,j)=.[X3]arr(5,j)=.[Q2]EndWitharr(6,j)=.Sheets(6).Range("D19").Close'关闭打开的工作簿EndWithEndIfx=x+1f=DirLoopNextRange("C1").Resize(UBound(arr),6)=Application.Transpose(arr)'把数组的值写入工作表C1为左上角的单元格区域EndSub

3. 根据某表中的特定数据,查找特定文件名表格中的数据

在表1插入如下VBA程序Sub 文件夹2B2()Dim fd As ObjectDim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")'开启Excel内建的资料夹浏览方块Set fd = Application.FileDialog(msoFileDialogFolderPicker)If fd.Show = -1 Then rLookIn = fd.SelectedItems(1)Else MsgBox "未选取资料夹"End IfrFilename = Dir$(rLookIn & "\" & "*.xls")Do While rFilename <> vbNullString If InStr(rFilename, "主工作簿") = 0 Then Workbooks.Open rLookIn & "\" & rFilename Workbooks(rFilename).Sheets("sheet1").Activate Range("A:A").Find(Left(rFilename, InStr(rFilename, ".") – 1)).Offset(0, 1).Value = ActiveSheet.Range("B2").Value Application.DisplayAlerts = False Workbooks(rFilename).Close End If rFilename = Dir$()LoopSet fd = NothingSet fso = NothingApplication.DisplayAlerts = TrueEnd Sub运行后,会弹出一个“浏览”对话框,在“文件夹名称”处搜索你的“文件夹2”,确定。

4. 怎样将一个文件夹内的所有文件名全部列出到一个文档里

假设你要看的文件夹是 c:\test那么开始->运行-> cmd然后输入cd c:\tree c:\test /f > 123.txt然后打开123.txt就是你想要的输出这样的格式卷 XXX 的文件夹 PATH 列表卷序列号为 88B5-EE3AE:\XX└—111 ├—2222 │ │ Launcher.lst │ │ Launcher1.lst

5. 如何从大量压缩包中提取同一文件名的文件并将其数据汇总

access不可能做到吧?如果叫我做那我肯定是写个程序,把放有压缩包的目录里的文件列表出来.然后一个一个的做如下操作:复制一个文件到临时目录.解压,找到文件名为XXXX的文本文件读出内容暂记在一个变量里.然后下一个rar文件,把得到的文本内容再加到刚刚存内容的变量,如此下去直到所有的rar文件结束。最后变量的内容写入excel

6. EXCEL如何在单元格中输入文件名,根据文件名在其他单元格引用该路径下文件数据

假设把A列作为文件名录入列,A1=1,公式=indirect("'D:\["&a1&"1.xls]Sheet1'!B1"),然后下拉公式即OK

7. excel怎么引用指定文件名文件的指定位置的数据

可以用INDIRECT函数,例如:=INDIRECT("["&A1&"]"&"sheet1!a1")得四个文件全部打开,公式数据才能更新。

8. 文件名中扩展名表示文件内容的标识,而文件主名表示文件的类型。

Windows下常用DOS命令与工具说明在如今的图形世界里你是否还记得古老却时常用到的DOS?这里给出了时常还会用到的DOS命令与工具,详细的用法可以使用”命令名 /?"获得帮助。希望这帖子对你会有帮助 DIR(列目录) 格式:DIR 说明:/P 指示DIR每显示一屏信息后暂停并显示提示 /W 指示DIR以短格式显示文件,屏幕每行显示5个文件名 /A:仅显示与指定属性相符的文件名。文件有以下属性:H 隐含文件 -H 非隐含文件 S 系统文件 -S 非系统文件 D 目录 -D 非目录文件 A 文件需要存档 -A 文件已经存档 R 只读文件 -R 非只读文件 /O:按指定顺序显示目录列表。有效顺序有:N 文件名升序A到Z -N 与N相反 E 扩展名升序A到Z -E与E相反 D 日期升序最早到最晚 -D与D相反 S 文件长度升序,最小到最大 -S与S相反 G 先显示目录再显示文件 -G 与G相反 /S 指示DIR显示下一级子目录中的文件 /B指示DIR显示文件名与扩展名 /L 指示DIR以小写字母显示文件名 一点小技巧 快速录入目录文件名到文本文件 DIR *.* >> Name.txt 打印文本文件 DIR target.txt >> PRN COPY(拷贝) 格式:COPY sourcefiletarget 或COPY source1+source2(文件合并) 或COPY source1+source2target(文件合并) /V 指示COPY使用盘检验确认拷贝成功 /A 指示COPY处理一个ASCII文件 /B 指示COPY处理一个二进制文件 DEL(删除文件) 没有什么参数,指定文件之后就可以了 ATTRIB (修改属性) 格式:ATTRIB file +A 设置文件的档案属性 -A取消文件的档案属性 +R 设置文件的只读属性 -R取消文件的只读属性 +S 设置文件的系统属性 -S取消文件的系统属性 +H 设置文件的隐藏属性 -H取消文件的系统属性 /S 处理所有子目录文件 其实这个命令最长用的就是+-S属性了,在Windows XP下没法直接设置文件的系统属性,只好用DOS了 FORMAT(格式化命令) ARP将IP地址与网卡物理地址绑定 ATMADM Windows ATM 调用管理器统计 BOOTCFG 修改Boot.ini文件 CHKNTFS 在启动时显示或修改磁盘检查 CONVERT 将 FAT 卷转换成 NTFS DIANTZ 制作微软压缩包 DISKPERF 磁盘性能计数器 DOSKEY编辑命令行,重调用 Windows XP 命令,并创建宏 EDLIN 行编辑器 ESENTUTL 数据库实用工具 EXE2BIN将.EXE文件转换为BIN文件 EXPAND解压缩工具 ASSOC 显示或修改文件扩展名关联。 AT 计划在计算机上运行的命令和程序。 BREAK 设置或清除扩展式 CTRL+C 检查。 CACLS 显示或修改文件的访问控制列表(ACLs)。 CALL 从另一个批处理程序调用这一个。 CD 显示当前目录的名称或将其更改。 CHCP 显示或设置活动代码页数。 CHDIR 显示当前目录的名称或将其更改。 CHKDSK 检查磁盘并显示状态报告。 CLS 清除屏幕。 CMD 打开另一个 Windows 命令解释程序窗口。 COLOR 设置默认控制台前景和背景颜色。 COMP 比较两个或两套文件的内容。 COMPACT 显示或更改 NTFS 分区上文件的压缩。 DATE 显示或设置日期。 DISKCOMP 比较两个软盘的内容。 DISKCOPY 将一个软盘的内容复制到另一个软盘。 ECHO 显示消息,或将命令回显打开或关上。 ENDLOCAL 结束批文件中环境更改的本地化。 ERASE 删除至少一个文件。 EXIT 退出 CMD.EXE 程序(命令解释程序)。 FC 比较两个或两套文件,并显示 不同处。 FIND 在文件中搜索文字字符串。 FINDSTR 在文件中搜索字符串。 FOR 为一套文件中的每个文件运行一个指定的命令。 FTYPE 显示或修改用于文件扩展名关联的文件类型。 GOTO 将 Windows 命令解释程序指向批处理程序 中某个标明的行。 GRAFTABL 启用 Windows 来以图像模式显示 扩展字符集。 IF 执行批处理程序中的条件性处理。 LABEL 创建、更改或删除磁盘的卷标。 MD 创建目录。 MKDIR 创建目录。 MODE 配置系统设备。 MORE 一次显示一个结果屏幕。 MOVE 将文件从一个目录移到另一个目录。 PATH 显示或设置可执行文件的搜索路径。 PAUSE 暂停批文件的处理并显示消息。 POPD 还原 PUSHD 保存的当前目录的上一个值。 PRINT 打印文本文件。 PROMPT 更改 Windows 命令提示符。 PUSHD 保存当前目录,然后对其进行更改。 RD 删除目录。 RECOVER 从有问题的磁盘恢复可读信息。 REM 记录批文件或 CONFIG.SYS 中的注释。 REN 重命名文件。 RENAME 重命名文件。 REPLACE 替换文件。 RMDIR 删除目录。 SET 显示、设置或删除 Windows 环境变量。 SETLOCAL 开始批文件中环境更改的本地化。 SHIFT 更换批文件中可替换参数的位置。 SORT 对输入进行分类。 START 启动另一个窗口来运行指定的程序或命令。 SUBST 将路径跟一个驱动器号关联。 TIME 显示或设置系统时间。 TITLE 设置 CMD.EXE 会话的窗口标题。 TREE 以图形模式显示驱动器或路径的目录结构。 TYPE 显示文本文件的内容。 VER 显示 Windows 版本。 VERIFY 告诉 Windows 是否验证文件是否已正确 写入磁盘。 VOL 显示磁盘卷标和序列号。 XCOPY 复制文件和目录树。 MSCONFIG 使用配置工具

9. EXCEL如何引用其它文件名下表格中单元格数据

下面是典型的引用公式:='C:\Documents and Settings\Administrator\My Documents\[工作簿1.xlsx]Sheet1'!A1可分四部分,C:\Documents and Settings\Administrator\My Documents\ 这部版分是完整的路径,[工作簿1.xlsx]这是工作簿名称,权即文件名,用方括号括起来,Sheet1这是工作表名称,前面三部分用半角单引号括起来最后再加一个!被引用单元格名称即可。

10. 如何让文件夹内所有文件名显示在一个Excel文件

1、在那个文件夹内新建一个.TXT文件(如wenjian.txt),用记事本单开输入dir> 1.txt保存退出将刚才的.TXT(wenjian.txt)更名为.bat文件(wenjian.bat)双击wenjian.bat文件运行一次,在文件夹内多出一个1.txt文件打开1.txt文件,将其中的内容粘贴到Excel中,数据–分列处理就可以得到你要的文件名列表了!2、VBA(2003版)在那个文件夹下新建Excel文件,打开新建的Excel文件,右击工作表标签(如Sheet1),查看代码–在代码编辑器中输入以下代码Sub Test()Dim i As IntegerDim strPath As StringstrPath = ThisWorkbook.PathWith Application.FileSearch .LookIn = strPath .SearchSubFolders = True .Filename = "*.*" If .Execute > 0 Then For i = 1 To .FoundFiles.Count Range("A" & i) = .FoundFiles(i) Next i End IfEnd WithEnd Sub回到Excel表格中,工具–宏–宏–选择Sheet1.Test–执行看看效果吧!祝你成功解决问题!

未经允许不得转载:山九号 » 文件名中体现文件内数据|文件名中扩展名表示文件内容的标识而文件主名表示文件的类型

赞 (0)