㈠ c语言中如何打开文件
1.2
文件的输入输出函数
键盘、显示器、打印机、磁盘驱动器等逻辑设备,
其输入输出都可以通过文件管理的方法来完成。而在编程时使用最多的要算
是磁盘文件,
因此本节主要以磁盘文件为主,
详细介绍Turbo
C2.0提供的文件操作函数,
当然这些对文件的操作函数也适合于非磁
盘文件的情况。
另外,
Turbo
C2.0提供了两类关于文件的函数。一类称做标准文件函数也称缓冲型文件函数,
这是ANSI标准定义的函数;
另一
类叫非标准文件函数,
也称非缓冲型文件函数。这类函数最早公用于UNIX操作系统,
但现在MS-DOS3.0
以上版本的操作系统也可以
使用。下面分别进行介绍。
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
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");
/*提示关闭不成功*/
}
㈡ C语言如何从文件中读取指令
可以用fgets 读取文件内容 然后用strtok_r 拆分 安什么字符拆得看文件格式咯。。。。。
㈢ C语言中怎么用system()函数打开一个可执行文件
system()的输入参数是一个字符串,这个函数的作用就是在命令行下以命令的形式执行这个字符串。
如“C:a.exe” 在命令行下是可以直接运行的,所以直接填到参数里就行了。不过需要注意的是,字符串作为参数的时候“”要做一下转义,要变成“\”才行。
㈣ C语言程序中如何打开文件
while(fscanf(fp,"%c",&c),c!=EOF)
应改为
while (fscanf(fp,"%c",&c)!=EOF)
例如:
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
FILE *fp=fopen("c:/a.txt","r");
char c=0;
while (fscanf(fp,"%c",&c)!=EOF)
putchar(c);
fclose(fp);
return 0;
}
//---------------------------------------------------------------------------
㈤ 关于c语言中如何打开文件
//zifu.txt文件只能由ASCII字符组成,否则会出现乱码
#include<stdio.h>
int main()
{
char str[200],a,b;
FILE *p;
int i;
if(NULL==(p=fopen("zifu.txt","r+")))
{
printf("文件打开失败!\n");
}
else
{
fscanf(p,"%s",str);
printf("你要替换的字符:");
a=getchar();
getchar();
printf("你要替换成的字符:");
b=getchar();
getchar();
for(i=0;str[i];i++)
{
if(a==str[i])
str[i]=b;
}
printf("%s\n",str);
fprintf(p,"%s",str);
fclose(p);
}
return 0;
}
㈥ c语言程序设计中如何打开文件
#include
"stdio.h"
#include
<stdlib.h>
main()
{
FILE
*fp1;//定义文件流指针,用于打开读取的文件
FILE
*fp2;//定义文件流指针,用于打开写操作的文件
char
text[1024];//定义一个字符串数组,用于存储读取的字符
fp1
=
fopen("d:\\a.txt","r");//只读方式打开文件a.txt
fp2
=
fopen("d:\\b.txt","w");//写方式打开文件a.txt
while(fgets(text,1024,fp1)!=NULL)//逐行读取fp1所指向文件中的内容到text中
{
puts(text);//输出到屏幕
fputs(text,fp2);//将内容写到fp2所指向文件中
}
fclose(fp1);//关闭文件a.txt,有打开就要有关闭
fclose(fp2);//关闭文件b.txt
}
㈦ 在C语言中如何打开文件夹中的文件
用文件路径操作函数找到源代码所在的文件夹。使用文件操作函数fopen打开源文件即可。
路径操作函数 chdir。
chdir函数是C语言中的一个系统调用函数(同cd)功 能:更改当前工作目录。参 数:Path 必选。Path 可能包含驱动器。如果未指定驱动器,则当前驱动器上的默认目录或文件夹。返回值:成功返回0 ,失败返回-1
文件操作函数fopen。
函数原型:FILE* fopen(const char * path,const char * mode);返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。
㈧ c语言程序设计中如何打开文件
#include "stdio.h"
#include <stdlib.h>
main()
{
FILE *fp1;//定义文件流指针,用于打开读取的文件
FILE *fp2;//定义文件流指针,用于打开写操作的文件
char text[1024];//定义一个字符串数组,用于存储读取的字符
fp1 = fopen("d:\\a.txt","r");//只读方式打开文件a.txt
fp2 = fopen("d:\\b.txt","w");//写方式打开文件a.txt
while(fgets(text,1024,fp1)!=NULL)//逐行读取fp1所指向文件中的内容到text中
{
puts(text);//输出到屏幕
fputs(text,fp2);//将内容写到fp2所指向文件中
}
fclose(fp1);//关闭文件a.txt,有打开就要有关闭
fclose(fp2);//关闭文件b.txt
}
㈨ c语言中打开头文件的命令是什么
用任意文本编辑器打开即可。
语言特点
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建。
通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。通过对C语言进行研究分析,总结出其主要特点如下:
简洁的语言
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
以上内容参考:网络-C语言
㈩ c语言如何打开文件
你只要把下面代码的file_path改成你要输出的文件就可以了。注意,一般window下的文件路径都是一个反斜杠,但是在file_name的字符串中,所有的反斜杠都写成两个反斜杠。比如
E:\abc\WTK\SW\source.txt
你要写成
E:\\abc\\WTK\\SW\\source.txt
#include <stdio.h>
#include <string.h>
main()
{
FILE *fp;
char ch;
char *file_path = "C:\\test\\myfile.txt";
if((fp=fopen(file_path,"r"))==NULL)
{
printf("\nSorry, Can't open the file! @_@\n");
exit(0);
}
else
{
while((ch=fgetc(fp))!=EOF)
{ printf("%c",ch); }
fclose(fp);
}
getch();
}
是否可以解决您的问题?