‘壹’ c语言中,只读文件,可读写文件,只写文件是什么
只读文件是只能读取文件的内容,不能对文件的内容进行修改,只写文件是既能读取文件内容又能修改文件内容,只写文件是只能向文件中输入,不能查看文件的内容。其实还有可执行文件,也就是可以运行的文件。
‘贰’ 关于C语言的读写
r的意思是以只读方式打开文件,表示程序只能读取文件中的内容,不可以把其他数据写入文件,书本上说只读的意思是只能输入不可以输出那是对程序而言的吧,只能从只读文件中读取内容输入到程序,不能将程序结果输出到只读文件。
w意思是用“w”打开的文件只能向该文件写入,书上说是“只能写入而不能输入”意思是: 只能由程序向该文件中写入内容,不能将文件内容输入到程序。
你没有弄清说话的对象,还有楼主看的什么书啊?找一本表述清楚的书啊~~C语言建议看C Primer Plus,C++建议看C++ Primer Plus,都是入门必看经典来着。
‘叁’ c语言文件读写 实例
C语言标准库提供了一系列文件I/O函数用于文件操作,比如fopen()用于打开文件、fread()、fwrite()用于读写文件、fseek()用于设置操作位置等等,一般C语言教程上都有文件I/O一章,细致内容,可以找本教科书学习一下。 下面的示例,是向名为1.txt的文件附加hello world字符串。
#include<stdio.h>
#include<string.h>
intmain()
{
FILE*fp=fopen("1.txt","a+");
if(fp==0){printf("can'topenfile ");return0;}
fseek(fp,0,SEEK_END);
charsz_add[]="helloworld ";
fwrite(sz_add,strlen(sz_add),1,fp);
fclose(fp);
return0;
}
‘肆’ C语言如何判断文件是否可读写
这个需要对文件加锁才能,可以用fcntl函数实现
int lock(const char * filepath )
{
int fd = 0;
struct flock flock;
memset( &flock, 0, sizeof(flock) );
fd = open( filepath, O_RDWR,S_IRUSR|S_IWUSR );
if ( fd < 0 )
{
printf("open error!\n");
return ( -1 );
}
flock.l_type = F_WRLCK;
flock.l_whence = SEEK_SET;
flock.l_start = 100000;
flock.l_len = 0;
if ( fcntl( fd, F_SETLK, &flock ) ) //加锁,如果失败则等待10秒
{
printf("cannot set lock\n");
printf("the process will retry after 10 seconds\n");
sleep(10); //不同版本的sleep单位可能不一样,有的是秒有的是毫秒,你自己看着改
if ( fcntl( fd, F_SETLK, &flock ) ) //加锁,如果失败则退出
return( -1 );
}
return( 0 );
}
后面的你懂吧
‘伍’ c语言关于文件“读”“写”
在DOS下是,在Windows下不一定是,因为你可以读一个超过你内存容量的巨大信息进"内存",其绝大部分都会被系统弄进swap,但这对你是完全透明的,除非你用内核编程的内存分配函数强行分配物理内存并读入数据.
‘陆’ 请教高手:C语言在读写文件操作时,可以读写哪些数据类型,数据可以支持多少位
你要先定义一种数据格式
比如你要存的是
year 1990 month 12 day 01
那么你在取的时候就同样要按照这个格式去取,包括空格都要计算在内
存的时候吧1990转换成字符去存,不知道可以用atoi和itoa函数不,你知己试试