file-io相关内容

为什么C的"&的fopen QUOT;采取"为const char *"作为第二个参数?

它总是让我觉得奇怪的是,C函数“的fopen”需​​要“为const char *”作为第二个参数。我想这会更容易地阅读你的code和实现库的code,如果有在stdio.h中定义位掩码,如“IO_READ”和这样的,所以你可以做这样的事情: FILE * MYFILE =的fopen(“file.txt的”IO_READ | IO_WRITE); 有一个纲领性的原因其实是,或只是历史的方 ..
发布时间:2016-08-21 20:14:10 C/C++

读取一行输入比与fgets快?

我在写一个程序,性能是非常重要的,但不是关键。目前,我在文本由行 FILE * 行读,我用与fgets 来获取每一行。使用一些性能工具后,我发现我的应用程序运行时间的20%到30%,这里面与fgets 。 有没有更快的方法来获得一行文本?我的应用程序是单线程的,没有打算使用多线程。输入可以是从标准输入或文件。先谢谢了。 解决方案 你不说你是哪个平台上,但如果它是类UNIX,那么你可能想尝 ..
发布时间:2016-08-21 19:51:41 C/C++

如何直接和有效地访问非常大的文本文件?

我有我想读一些数据挖掘工艺非常大的文本文件(+ 10GB)。 要做到这一点,我用MPI并行工艺如此多的进程可以一起访问同一个文件。结果 其实,我想每个进程读取线的N多。由于文件不规整(同样数量的字段,但每个字段可以包含不同数量的字符),我是在解析文件的义务,并且不平行,并需要花费大量的时间。 有什么办法可以直接访问在线withount解析和计数线的具体数量? 谢谢你的帮助。 解决方案 ..
发布时间:2016-08-19 16:15:10 C/C++开发

如何找到的文件句柄,我的进程已经在Linux中打开?

当我们执行Unix的一个分支,打开的文件句柄是继承的,如果我们不需要使用它们,我们应该将其关闭。然而,当我们使用库文件句柄可被打开一个我们没有访问到手柄。我们如何检查这些打开的文件句柄? 解决方案 如果库正在打开,你不知道的文件,你怎么知道他们并不需要他们后叉?未导出手柄内部库的细节,如果库希望他们关闭它会注册一个atfork()处理程序来关闭它们。走在后面的一些片code关闭其文件的背后 ..
发布时间:2016-08-19 16:10:02 服务器开发

写作结构体在C文件

是否有可能对整个结构写入一个文件 例如: 结构日期{ 焦天[80]; INT月; INT年; }; 解决方案 是否有可能对整个结构写入一个文件 您的问题是实际编写结构实例到文件中。 您可以使用 FWRITE 函数来实现这一点。 您需要传递的第一个参数参考。 的sizeof 第二个参数中的每个对象 此类对象的数量在第三个参数写入。 在第四个参数文件指 ..
发布时间:2016-08-19 16:08:27 C/C++

C程序设计:如何读取整个文件内容到缓冲区

我要到一个文件的全部内容写入到缓冲区中。该文件实际上只包含一个字符串,我需要一个字符串比较。 什么是最有效的选择是便携式甚至在Linux上。 ENV:视窗 解决方案 Linux和Windows之间 便携性是大伤脑筋,因为Linux是一个POSIX的一致性系统 - 一般 - 一个合适的,高品质的工具链C,而Windows甚至不提供很多功能在C标准库。 不过,如果你要坚持标准,你可以这样 ..
发布时间:2016-08-19 15:45:42 C/C++

我怎样才能从一个目录拷贝一个文件到另一个C / C ++

我要寻找关于如何将文件从一个目录复制到另一个在C程序应该只使用跨平台的功能是本机到C一个简单的例子。 解决方案 下面是一个简单的未经检验的C程序,做你所需要的: 的#include<&stdio.h中GT;INT主(INT ARGN,字符*的argv []){ INT src_fd,dst_fd,N,走错了路。 无符号字符缓冲区[4096]; 字符* src_ ..
发布时间:2016-08-19 15:11:33 C/C++开发

如何FREAD知道该文件是在用C?

所以我不完全知道如何使用FREAD。我在小尾数的二进制文件,我需要转换为大端,我不知道如何读文件。以下是我迄今为止: FILE * in_file中FOPEN =(文件名,“RB”); 炭缓冲液[4]; 而(in_file中!= EOF){ 的fread(缓冲液,4,1,in_file中); //转换为大端。 //写入输出文件。 } 我没有写任何东西,但我只是不知道 ..
发布时间:2016-08-19 14:42:17 C/C++

如何使用fwrite来写一个结构到一个文件?

我很新的C,和我有fwrite的麻烦。 我期待使用拥有两个值的结构: 结构KEYEN code { 无符号短键[2]; 无符号短连接codeD [2]; }; 然后我宣布我的结构,并在我的主要指向一个结构:结构KEYEN code keynEn code; 结构KEYEN code * storedVal =安培; keynEn code; 我然后分配值的结构和想用的f ..
发布时间:2016-08-19 14:24:24 C/C++

FTELL在过去2GB的位置

在32位系统中,什么是 FTELL 回报,如果以二进制模式打开一个文件的当前位置指示器是过去2GB的意义呢?在 C99 标准,是这种的未定义行为的,因为 FTELL 必须返回一个长整型(最大值为 2 ** 31-1 )? 解决方案上长整型 长整型应该是至少有32位,但C99标准没有限制到32位。 C99标准确实提供了便利类型,如 int16_t &安培; int32_t 等映射到正确 ..
发布时间:2016-08-19 13:54:08 C/C++

如何删除一个文件在C中FILE *指向?

#包括LT&;&stdio.h中GT;诠释主(){ FILE * FP; FP =的fopen(“TEMP.TXT”,“W”); fprintf中(FP,“你好,世界\\ n!”); //删除(“TEMP.TXT”);这需要文件名作为参数 // removefile(FP); < ---是这样的可能吗? 返回0; } 删除功能(在stdio.h ..
发布时间:2016-08-19 13:43:11 C/C++

龟etc():这是不够的,只是检查EOF?

在网络上找到各种例子龟etc()使用这样的: FILE * FP = FOPEN(PATH,“R”);如果(FP == NULL){ PERROR(“主”); 出口(EXIT_FAILURE); }INT CH;而(CH =龟etc(FP)!= EOF){ // 做一点事 } 但根据手册页,以龟etc() 如果出现读误差时,误差 对于流指标应设置, ..
发布时间:2016-08-19 13:37:20 C/C++

二进制文件操作VS文本模式 - 性能问题

在许多项目中,我看到的数据对象/结构写入到二进制模式文件,然后检索这些在二进制模式的文件再次回来了。 我不知道为什么他们这样做二进制模式?文本和二进制模式之间的性能差异?如果不是,那么当使用二进制模式或文本模式 解决方案 二进制比较快。考虑存储在32位(4字节),如123456的整数。如果你写了这一点,为二进制(这是它是如何重新在电脑psented $ P $),将采取4个字节(忽略项目 ..
发布时间:2016-08-19 13:36:57 C/C++开发

在C中,如何让一个文件描述符阻止?

给定一个任意的文件描述符,我可以把它封锁,如果它是非阻塞的?如果是这样,怎么样? 解决方案 它已经有一段时间我打C,但你可以使用的的fcntl()函数更改文件描述符的标志: 的#include<&unistd.h中GT; #包括LT&;&fcntl.h GT;//保存现有的标志saved_flags =的fcntl(FD,F_GETFL);//设置新的标志与O_NONBLOCK屏蔽 ..
发布时间:2016-08-19 13:35:11 服务器开发

阅读已经连续使用C打开的文件

我实现低重量的应用程序在那里我有打开并经常阅读的/ proc / PID或TID /任务/ STAT细节。如果应用程序是多线程我要读更多的统计文件。所以打开,读取和关闭使我的监视应用程序很慢。是否有解决方案,以避免在打开文件多次,仍然能够读取更新的内容? 我跑了以下实验,但我没有看到成功。我更改了数据“的test.txt”,但新的数据不被读取。难道是因为文件没有在内存中更新?当我修改和保存“的t ..
发布时间:2016-08-19 00:39:29 C/C++

C ++程序读取恒定(但未知)数列的未知大小的CSV文件(只用浮漂填写)到一个数组

想知道,如果有人可以帮我个忙我尝试建立一个程序,在从CSV文件未知大小的花车大数据块读取。我已经写了这个在MATLAB,但要编译和发布这一让人感动于C ++。 我只是在学习,试图在这一读来启动 7,5,1989 2,4,2312 从文本文件。 code为止。 //读取以CSV // //亚历Byasse#包括LT&;&iostream的GT; #包括LT&;&的fstream GT; ..
发布时间:2016-08-19 00:38:02 C/C++开发

我如何排序中的一个字段结构的链接列表?

哇现在我知道我不。哈哈。 我有我的结构是这样的: 结构医学生{ INT Id_Doctor; INT埃斯塔; 焦农布雷[60]; ////集中在结构的这一部分,这是名称。 炭Clave_Acceso [20]; 焦炭Especialidad [40]; 医学生结构*下一个; }; 和我想组织结构取决于名称(按字母顺序排列..)关于如何解决这个问题的任何想法? 例如:阿尔伯特·海恩斯沃思 鲍 ..
发布时间:2016-08-19 00:29:40 C/C++

我如何在内核级别使用该目录中的文件描述符打开一个目录?

我工作的一个项目,我必须打开一个目录,并在内核级别读取里面的文件/目录。基本上,我试图找出如何 LS 是在内核级别实现的。 现在我已经想通了如何获得使用目录中的文件描述符 SYS_OPEN()和 O_DIRECTORY标志,但我不知道如何阅读,我收到了FD。如果任何人有任何提示或其他建议我最好的AP preciate它。 (请记住,这已经在内核级别上进行)。 编辑:对于一个长话短说,因为我实现 ..
发布时间:2016-08-19 00:18:00 C/C++

获得在C文件的最后修改日期

我希望得到一个文件的最后修改日期C.我发现几乎所有的资源用的东西沿着这个片断: 的char * get_last_modified(字符*文件){ 结构TM *时钟; 结构统计ATTR; STAT(文件,&安培; attr指示); 时钟= gmtime的(及(attr.st_mtime)); 返回asctime(时钟); } 但 ATTR 甚至没有一个字段 ..
发布时间:2016-08-18 23:57:03 C/C++

如何检查文件是否gzip的COM pressed?

我有需要在可以是或可以不是gzip的玉米pressed文件读取一个C / C ++程序。我知道我们可以使用来自zlib的gzread()在读取两个COM pressed和uncom pressed文件 - 不过,我想使用zlib的功能,只有当文件是gzip的COM pressed(性能原因)。 那么,有没有办法编程检测或者检查某个文件从C gzip压缩/ C ++? 解决方案 有一个神奇 ..
发布时间:2016-08-18 23:49:47 C/C++开发