c语言打开一个文件
⑴ 如何用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;
}
运行:
打开cmd.exe,输入程序名(必须有路径) (空格) 打开的文件名 (回车)。注意,如果程序名或者文件名内部有空格,必须用双引号引起来
之后便可以运行下面的内容
⑶ 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
加载更多