file-io相关内容

如何读取二进制文件在C浮动?

一切我通过谷歌发现垃圾...请注意,我想要的答案的在 C ,但是如果你有一个C补充你的答案++解决方案以及,然后你会得到加分! 我只是希望能够从二进制文件中读取一些彩车到一个数组 编辑:是的,我知道字节序...没有我不关心它是如何存储。 解决方案 您怎么也得读彩车从文件完全取决于价值是如何在第一时间保存在那里。一种常见的方式可以是: 无效writefloat(浮点V,FILE * F ..
发布时间:2016-08-18 14:39:25 C/C++开发

在Windows上创建的文件大

我需要创建大较大(1-8 GB)文件。什么是在Windows上这样做的最快方式使用C或C ++?我需要动态地创建他们的速度实在是一个问题。文件将被用于存储仿真即会随机获得不同的偏移,我需要所有的存储将是preallocate但没有初始化,目前我们正在编写与虚拟数据的所有存储和它的时间太长。 感谢。 解决方案 使用Win32 API中,的的CreateFile , SetFilePoint ..
发布时间:2016-08-18 14:30:56 C/C++

复制文件的指针?

只是一个简单的问题:有没有办法复制一个文件指针(那些由 fopen()函数返回),类似于如何 DUP( )通过复制功能,如返回的文件处理程序的open()? 基本上,我希望能够做这样的事: FILE *计划生育=的fopen(“SOME_FILE”,“R”); FILE * FP2 = / *做一些事来复制文件指针* /; FCLOSE(FP); // FP2仍然是开放的 / *做一些与FP ..
发布时间:2016-08-18 14:23:27 C/C++

FWRITE和写大小的性能

我写了大量的数值2维数组为二进制文件(最终大小〜75 MB)。 我在Linux系统上这样做。首先,有没有更好的方法或系统调用不是FWRITE对方尽可能快地写入文件? 第二,如果我要使用FWRITE,那么我应该只是写了整个文件作为1个连续行? FWRITE(BUF,sizeof的(浮动),6700 * 6700,FP); ,或写为一系列块 FWRITE(BUF,sizeof的(浮动),8 ..
发布时间:2016-08-18 14:11:52 C/C++

为什么开()创建我的错权限的文件吗?

我想从文件中读取一些文本,并使用其写入到另一个的open(),阅读()和的write()。 这是我的的open()的文件到写来(我想创建一个新的文件,并写入到它): FOUT =打开(“测试1”,O_RDWR | O_CREAT | O_SYNC); 这是设置文件权限的东西我不明白的。这是输出的ls -l : ---------牛逼1切塔尼亚切塔尼亚0 2010-02-11 09:38测 ..
发布时间:2016-08-18 14:07:01 服务器开发

使用龟etc逐行读取C文件行()

这是多么我已经做到了,但我不知道这是preferred成语: FILE *计划生育=的fopen(的argv [0],“R”); //处理fopen()函数返回NULL而(!的feof(FP)){ 字符缓冲区[80]; //静态分配的,以后可能会用一些更为复杂的方法替换此 INT NUM_CHARS = 0; 对于(INT CH =龟etc(FP); CH = EOF和放 ..
发布时间:2016-08-18 14:06:29 C/C++

如何fopen()函数在iPhone?

在iPhone SDK文档要求fopen()函数是文件访问支持的方法,但我不能让它返回的文件句柄。我访问包含在我的项目目录。我已经试过的fopen“文件名”,“目录/文件名”,“./文件名”,“./目录/文件名”,“/目录/文件名”全部用一个空指针返回。有些人使用它,没有问题的报告,所以我敢肯定这是简单的东西! 解决方案 如果你想你的应用程序包中访问一个文件,你需要得到完整路径: [一个N ..
发布时间:2016-08-18 13:56:06 移动开发

按字符用C读取文件字符

大家好,我正在写在C BF间preTER和我碰到的读取文件的问题。我曾经为了读取第一个字符串使用scanf函数,但你不能在你的BF code空格或注释。 现在这里是我的。 的char * READFILE(字符*文件名) { FILE *文件; 字符* code =的malloc(1000 * sizeof的(炭)); 文件= FOPEN(文件名,“R”); 做 { ..
发布时间:2016-08-18 13:56:03 C/C++

比较两个文本文件 - 在C程序拼写检查

我正在写一个拼写检查程序将比较用户的文本文件,借助字典,看看他们是否进入了词在字典中。如果不是这样,一个错误信息被打印告诉特定的词是错误的用户。我已经尝试了数低于code的变化,但没有得到预期的效果。这件事情在的投掷出来的嵌套while循环。这code在起草阶段,我必须以使其更高效的内存等整齐起来。我在得到它的第一份工作只是感兴趣。谢谢! 编辑:改变了code稍微按照下面的提示。它现在读取的第一 ..
发布时间:2016-08-18 13:44:48 C/C++

插入文本在特定的文件中使用Win32 API的偏移

我要寻找一种方法,使快速的修改,大型的多千兆字节的文件。不要在Win32 API支持,而无需从一开始还是从变化的偏移重写整个文件回磁盘在一个特定的偏移将文本插入到一个文件的能力吗? 考虑一个例子。比方说,我们有文字的“test”的文件是1 GB的大小一遍又一遍地重复。如果我想去到500 MB偏移和插入文本“新”,有没有插入,而无需从头开始重写整个文件,和/或无需重写它的最后500 MB的一种方式 ..
发布时间:2016-08-18 13:32:27 C/C++

无法打开使用的fopen一个文件()

我一直在试图打开一个文件,输出文本,但我不断收到错误。所以我想我会开始在开始的时候,只是尝试打开该文件。这是我的code: 的#include<&stdio.h中GT; #包括LT&;&stdlib.h中GT; #定义CORRECT_PARAMETERS 3INT主要(无效) { FILE *文件; 文件= FOPEN(“TestFile1.txt”,“R”); 如 ..
发布时间:2016-08-18 13:20:51 C/C++

为什么FREAD月初到达EOF?

我写一个C库读取文件到内存中。它跳过前54个字节的文件(头),然后读取其余的数据。我用fseek的确定文件的长度,然后用的fread文件中读取 循环运行一次,然后结束,因为达到EOF(没有错误)。在结束时,读取动作= 10624,FTELL(流)= 28726,和缓冲液含有28726的值。我希望FREAD读30,000字节,文件位置是30054当达到EOF。 C不是我的母语,所以我怀疑我有一个 ..
发布时间:2016-08-18 13:16:13 C/C++开发

多个线程从同一文件中读取

我的平台是Windows Vista中32,用Visual C ++前preSS 2008年。 例如: 如果我有一个文件包含4000个字节,可我已经从同时文件中读取4个线程?与每个线程访问的文件中的不同部分。 主题1读0-999,线程2阅读1000年 - 2999等 请给C语言为例。 解决方案 如果你不给他们写信,没必要照顾的同步/竞争状态。 只要打开与分享阅读不同的处理文件,一 ..
发布时间:2016-08-18 13:14:32 C/C++开发

性能差异C和C ++风格文件IO之间

我总是听说C ++文件I / O操作是非常非常慢,则C风格的I / O。但我没有找到比较他们实际上有多慢是任何实际的参考,所以我决定测试它在我的机器(Ubuntu的12.04,GCC 4.6.3,EXT4分区格式)。 首先,我在磁盘写了〜900MB的文件。 C ++(的ofstream ):器163s 的ofstream文件(“的test.txt”);对于(寄存器INT I = 0; I&L ..
发布时间:2016-08-18 13:04:43 C/C++开发

发生的事情在磁盘I / O的窗帘后面?

当我试图在一个文件中的一些位置和写入数据(20字节)少量的,发生的事情在幕后? 我的理解 要我所知,可写入或从磁盘读出的数据的最小单位是一个扇区(传统上为512字节,但该标准现在正在改变)。这意味着写20个字节我需要阅读整个行业,修改它的一些内存并把它写回磁盘。 这是我所期望的无缓冲的I / O发生。我也希望缓冲I / O做大致相同的事情,但是要聪明关于它的缓存。所以,我会想,如果我这样做打 ..
发布时间:2016-08-18 12:58:50 C/C++

加快文件I / O:mmap()的与阅读()

我有一个Linux应用程序,在并行读取150-200文件(4-10GB)。每个文件依次读取小,大小不等的块,通常每次不少于2K。 我目前需要保持超过200 MB / s的读取速度从组文件相结合。磁盘处理这个就好了。有超过1 GB / s的预期要求(这是从磁盘的遥不可及的时刻)。 我们已经实现了两个不同的读取系统都大量使用 posix_advise :第一个是 MMAP 编读入我们映射数据集的全 ..
发布时间:2016-08-18 12:54:27 C/C++开发

如何在一个文件的中间插入和删除一些字符?

我要插入,并在文件的中间删除一些字符。 fopen()和fdopen()只允许在最后追加。 有没有让这些行动的任何简单的方法或现有的库? 解决方案 有没有简单的方法。你必须做手工。例如: 读取块你想之前插入到内存 寻求着新的位置 写块你只是在新的位置读 寻求回哪里要插入 写入新的数据。 ..
发布时间:2016-08-17 23:33:01 C/C++