当前位置: 技术问答>linux和unix
Linux操作文件是用哪些函数或类
来源: 互联网 发布时间:2016-07-05
本文导语: 之前用VC来操作文件类,很方便,但现在要用LINUX下操作文本文件类型。 最基本的就是C里面的fopen ,fread,fwrite,fclose,fseek等。但这些函数使用起来很不方便。 请问哪位大哥有这方面的函数集或文件类. ...
之前用VC来操作文件类,很方便,但现在要用LINUX下操作文本文件类型。
最基本的就是C里面的fopen ,fread,fwrite,fclose,fseek等。但这些函数使用起来很不方便。
请问哪位大哥有这方面的函数集或文件类.
最基本的就是C里面的fopen ,fread,fwrite,fclose,fseek等。但这些函数使用起来很不方便。
请问哪位大哥有这方面的函数集或文件类.
|
#include
这个库里定义了
int fclose(FILE *);
FILE *fdopen(int, const char *);
int feof(FILE *);
int ferror(FILE *);
int fflush(FILE *);
int fgetc(FILE *);
int fgetpos(FILE *, fpos_t *);
char *fgets(char *, int, FILE *);
int fileno(FILE *);
void flockfile(FILE *);
FILE *fopen(const char *, const char *);
int fprintf(FILE *, const char *, ...);
int fputc(int, FILE *);
int fputs(const char *, FILE *);
size_t fread(void *, size_t, size_t, FILE *);
FILE *freopen(const char *, const char *, FILE *);
int fscanf(FILE *, const char *, ...);
int fseek(FILE *, long int, int);
int fseeko(FILE *, off_t, int);
int fsetpos(FILE *, const fpos_t *);
long int ftell(FILE *);
off_t ftello(FILE *);
int ftrylockfile(FILE *);
void funlockfile(FILE *);
size_t fwrite(const void *, size_t, size_t, FILE *);
这些对文件操作的函数;
至于ini文件
可以设置啊 不过ini这样的后缀文件 在linux里没有特定的含义,只是让用户自己区分。你写了ini配置文件,然后在去fopen("filepath",r);他去 读出想要的东西就行了。这就算是配置文件了
这个库里定义了
int fclose(FILE *);
FILE *fdopen(int, const char *);
int feof(FILE *);
int ferror(FILE *);
int fflush(FILE *);
int fgetc(FILE *);
int fgetpos(FILE *, fpos_t *);
char *fgets(char *, int, FILE *);
int fileno(FILE *);
void flockfile(FILE *);
FILE *fopen(const char *, const char *);
int fprintf(FILE *, const char *, ...);
int fputc(int, FILE *);
int fputs(const char *, FILE *);
size_t fread(void *, size_t, size_t, FILE *);
FILE *freopen(const char *, const char *, FILE *);
int fscanf(FILE *, const char *, ...);
int fseek(FILE *, long int, int);
int fseeko(FILE *, off_t, int);
int fsetpos(FILE *, const fpos_t *);
long int ftell(FILE *);
off_t ftello(FILE *);
int ftrylockfile(FILE *);
void funlockfile(FILE *);
size_t fwrite(const void *, size_t, size_t, FILE *);
这些对文件操作的函数;
至于ini文件
可以设置啊 不过ini这样的后缀文件 在linux里没有特定的含义,只是让用户自己区分。你写了ini配置文件,然后在去fopen("filepath",r);他去 读出想要的东西就行了。这就算是配置文件了
|
clearerr(清除文件流的错误旗标)
相关函数 feof
表头文件 #include
定义函数 void clearerr(FILE * stream);
函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。
返回值
fclose(关闭文件)
相关函数 close,fflush,fopen,setbuf
表头文件 #include
定义函数 int fclose(FILE * stream);
函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。
返回值 若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。
错误代码 EBADF表示参数stream非已打开的文件。
范例 请参考fopen()。
fdopen(将文件描述词转为文件指针)
相关函数 fopen,open,fclose
表头文件 #include
定义函数 FILE * fdopen(int fildes,const char * mode);
函数说明 fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。
返回值 转换成功时返回指向该流的文件指针。失败则返回NULL,并把错误代码存在errno中。
范例 #include
main()
{
FILE * fp =fdopen(0,”w+”);
fprintf(fp,”%sn”,”hello!”);
fclose(fp);
}
执行 hello!
这是我从中随便摘抄的一段
相关函数 feof
表头文件 #include
定义函数 void clearerr(FILE * stream);
函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。
返回值
fclose(关闭文件)
相关函数 close,fflush,fopen,setbuf
表头文件 #include
定义函数 int fclose(FILE * stream);
函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。
返回值 若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。
错误代码 EBADF表示参数stream非已打开的文件。
范例 请参考fopen()。
fdopen(将文件描述词转为文件指针)
相关函数 fopen,open,fclose
表头文件 #include
定义函数 FILE * fdopen(int fildes,const char * mode);
函数说明 fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。
返回值 转换成功时返回指向该流的文件指针。失败则返回NULL,并把错误代码存在errno中。
范例 #include
main()
{
FILE * fp =fdopen(0,”w+”);
fprintf(fp,”%sn”,”hello!”);
fclose(fp);
}
执行 hello!
这是我从中随便摘抄的一段
|
看看这个
http://man.chinaunix.net/develop/c&c++/linux_c/default.htm
Linux常用的C函数全有 而且是分类的
http://man.chinaunix.net/develop/c&c++/linux_c/default.htm
Linux常用的C函数全有 而且是分类的
|
首先ls各位不要误导小朋友。这样的"类",多的是,不过不一定在一个集成IDE中附带的,也可能不是那一个公司那一个单位提供的。而是分散在千万个项目中的。
如果你要处理ini文件,可以去sf搜索libini之类的库。就像你要处理jpeg文件就用libjpeg一样。当然他也可能不交libxxx,比如我们熟悉的zlib。
开源世界的一个好处就是分散集成:把任务分解成一个个的独立任务,每个模块负责完美的解决一个问题。
另外一个好处是,开源:你发现模块不够适用,没有关系,拿来改改,而不是只能接受。
|
太困了 开始说胡话了。
我想对你说 你把你的邮箱发给我 我给你发送一个查询标准C/C++函数的 东西。
我想对你说 你把你的邮箱发给我 我给你发送一个查询标准C/C++函数的 东西。
|
没有 一般都得自己写个类 然后用
|
反正 我也弄过读取设定文件的项目 都是自己写的类来实现的
|
自己写类。
|
又是一个被windows组件库宠坏的孩子啊,如果这些函数你还觉得不灵活易用,那我劝你不要再搞linux了
|
自己写一个吧。或者google一下看有没有。没觉得linux的不方便,不知道lz觉得哪儿不方便
|
其实功能都差不多
lz 需要的是学习和适应
lz 需要的是学习和适应
|
这些函数的好处就是能够清晰准确的对文件进行操作,如果你使用的方式很多即便有类你也得重载。如果你用法很统一写好一组函数每次调用就可以了,不是一样的么?
|
Linux 下哪有用 ini 文件的。
|
WINDOWS那套读INI文件的,效率并不高。
自己写一个,把所有的section/key/value一下子读进来放在一个嵌套map中,也花不了半天时间。
第三方的库肯定也有的,我一个同事就用过,名字忘了。自己上网搜搜吧。
自己写一个,把所有的section/key/value一下子读进来放在一个嵌套map中,也花不了半天时间。
第三方的库肯定也有的,我一个同事就用过,名字忘了。自己上网搜搜吧。
|
要么你就不要用INI了,用XML或者JSON格式写配置文件,后面比前者相对还更清晰一些,都有现成的库可以用。
其实WINDOWS中也不提倡用INI的,WINDOWS总想人们用它的registry。
其实WINDOWS中也不提倡用INI的,WINDOWS总想人们用它的registry。
|
还有,就我所知,WINDOWS INI的格式并没有一份相像样的官方标准。比如特殊字符怎么转义,怎么做注释,网上连份文档都找不到。。。
|
#include
|
哎~ windows编程毒害人啊
|
在网上有那种读已经些好的类,可以参考、、、
|
你把又想给我 我给你的邮箱 我给你发一个查询这些函数的 东西
|
要方便的话,可以用Python