当前位置:首页 » 编程语言 » c语言打开一个文件

c语言打开一个文件

发布时间: 2022-07-24 02:08:48

⑴ 如何用c语言打开一个文件

近用c语言做文件操作比较频繁,记几个常用的操作

获得文件大小:

fseek(fp, 0, SEEK_END);
int fileSize = ftell(fp);
rewind(fp);

读取指定位置的数据块:

fseek( fp,offset,SEEK_SET );
int num_read = fread(buf, 1, length, fp);

删除文件

int res = access( filename,0 ); // 判断文件是否存在
if ( res == 0 )
{
res = remove( filename );// 删除文件
return ( res ==0 );
}

在指定位置写入块数据:

fseek( fp, offset, SEEK_SET );
num_write = fwrite( buf, 1, n, fp );

打开文件方式中有一个比较特别的,如果 某文件中已经有了一部分数据,你需要继续在上面添加数据,但是是在指定位置添加,也就是说,仍然需要通过 fseek 找到写入位置,然后再 fwrite,这时候需要以 "rb+" 方式打开。而不能以"a"或者"ab+"方式。以"a"方式打开,fseek函数不起作用。

获得文件属性

struct stat st;
FILE *fp = fopen( filename.c_str(),"rb" );
if ( !fp )
{ // error
}
fstat( fp->_file, &st );

遍历目录

std::string dirspec = dir + "\\*.*";
struct _finddata_t filefind;
int done = 0;
intptr_t handle = 0;

if( ( handle = _findfirst(dirspec.c_str(),&filefind) ) == -1 )
return IVS_FAIL;

IVS_RESULT res = IVS_OK, response =IVS_OK;
while( !(done=_findnext(handle,&filefind)) )
{
if( !strcmp(filefind.name,"..") || !strcmp(filefind.name,".") )
continue;

AdsFileInfo info;
if((_A_SUBDIR==filefind.attrib))
{
info._filename = filefind.name;
info._fileSize = filefind.size;
info._atime = filefind.time_access;
info._ctime = filefind.time_create;
info._mtime = filefind.time_write;
info._isdir = true;
}
else
{
std::string tmpFilename = dir + "\\";
tmpFilename += filefind.name;
res = getFileInfo( tmpFilename, info );
response = (!SUCCESS(res))?res: response;
}
list.push_back( info );
}
_findclose(handle);

⑵ 如何使用c语言打开一个文件

#include<stdio.h>
intmain(intargc,char*argv[])
{
FILE*fp=fopen(argv[1],"w+");//以读写方式创建一个文本文件,其中文件名由参数argv[1]提供
if(fp==NULL)exit(0);//出错检查,如果打开失败,打开函数返回一个空指针,则退出程序
...
...
fclose(fp);//运行完毕后一定不要忘记关闭文件
return0;
}

运行:

  1. 打开cmd.exe,输入程序名(必须有路径) (空格) 打开的文件名 (回车)。注意,如果程序名或者文件名内部有空格,必须用双引号引起来

  2. 之后便可以运行下面的内容

⑶ 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();
}
是否可以解决您的问题?

⑷ c语言怎么打开文件内容

1、首先需要下载专门的c语言编程软件,一般从网络下载就可以。

⑸ c语言 如何打开一个TXT文件。

C语言,打开文件一个TXT文件,需要使用fopen()函数。
它的函数原型位FILE
*
fopen(const
char
*
path,const
char
*
mode);
如果文件顺利打开后,返回指向该流的文件指针就会。如果文件打开失败则返回NULL,并把错误代码存在errno中。
一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。
参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。
mode有下列几种形态字符串:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读写数据,文件必须存在。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
wx
创建文本文件,只允许写入数据.[C11]
wbx
创建一个二进制文件,只允许写入数据.[C11]
w+x
创建一个文本文件,允许读写.[C11]
wb+x
创建一个二进制文件,允许读写.[C11]
w+bx
和"wb+x"相同[C11]
以x结尾的模式为独占模式,文件已存在或者无法创建(一般是路径不正确)都会导致fopen失败.文件以操作系统支持的独占模式打开
下面读取TXT文件的行数并把把TXT文件的内容存到数组中。
这里假设每行是一个字符串,每行不超过127个字符(用数组存字符串,最后一位存'\0'),选取fgets进行读取。
示例代码如下:
#include
#include
int main(int argc, char* argv) {
FILE* rf = fopen("input.txt","r");
char a[1024][128];
int i=0;
while(fgets(a[i],128,rf))i++;
int n=i;
printf("行数:%d\n",n);
fclose(rf);
i=0;
while(i

⑹ 在C语言中,举例说明如何打开一个文本文件,并读入文件中的数据

1.首先,使用VS构建一个新的空项目,然后直接单击ok。

⑺ 如何利用c语言打开文本文件

C程序语言非常强大,通过打开文本的函数(里面的参数指出要打开文本的位置及文件名),即可打开相应的文本。

第一,包含的头文件:

#include <stdio.h>,这是一个输入输出函数,

第二,打开文本文件:

FILE *file = fopen("c:\1.txt","r");代表C盘的文件,文件名为1.txt,r表示以只读的方式打开,

第二个参数表示打开方式,
"a" 表示追加方式打开,
"r" 表示以读方式打开,
"w" 表示以写方式打开,

第三,读入文本文件中的数据:

方法:
char s[10] = "";
while (!feof(file))
fread(s,1,1,file);

通过fread函数对打开的文件进行读和写操作,也就是这样来改变文件的内容。

⑻ c语言中如何在函数中打开一个文件

fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式)其中,“文件指针名”必须是被说明为FILE类型的指针变量,“文件名”是被打开文件的文件名。“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。例如:
FILE*fp;
fp=("filea","r");
其意义是在当前目录下打开文件filea,只允许进行“读”操作,并使fp指向该文件。

⑼ c语言怎么打开一个文件夹

在C语言中,对文件夹的操作,专业的说法称为"切换路径/目录",而不是"打开",因为文件夹,并不是一个"真正的文件",而只是一个访问文件的目录.

用C语言中的函数chdir,也就是change directory
int chdir(char *path)
-- 使指定的目录path变成当前的工作目录,之后所有的文件操作都是该目录下.

比如,想切换到f盘test目录下可以这样:
chdir("f:\\test ");
返回0表示切换成功,否则,表示失败.

⑽ 如何用C语言打开一个文件,并输出到屏幕上

读数据的方式要与数据存储的格式一致,如果文件的内容的存储方式不同,需要用相应的格式。
例如,下面读文件与写文件的格式相同。
void
read()//从文件1.txt读出数据
{
file
*fp;
int
i,n,a[100];
if((fp=fopen("1.txt","rt"))==null)
{
printf("cannot
open
file\n");
return;
}
fscanf(fp,"%d\n",&n);
for(i=0;i
评论
0
0
加载更多

热点内容
ip跨网段访问 发布:2025-01-31 02:44:42 浏览:708
算法带头人 发布:2025-01-31 02:42:25 浏览:551
方舟上传数据 发布:2025-01-31 02:42:25 浏览:835
铃木uy比uu多了什么配置 发布:2025-01-31 02:34:11 浏览:676
虾米音乐缓存文件夹 发布:2025-01-31 02:34:04 浏览:886
主播用什么我的世界启动器玩服务器 发布:2025-01-31 02:32:37 浏览:643
做电脑硬件需要哪些配置 发布:2025-01-31 02:30:53 浏览:439
小米智能门锁验证密码是多少 发布:2025-01-31 02:30:50 浏览:533
oracle和sql区别 发布:2025-01-31 02:27:40 浏览:241
汽车网源码下载 发布:2025-01-31 01:58:30 浏览:100