file-io相关内容
我看了这个题目,但他的问题与我的不同,也许 写入标准输出和放大器;一个文件 我想编写一个函数,该函数需要打印到标准输出和文件。我的C程序由scanf函数获取用户输入。 我打算写如printf函数,但我真的不知道该怎么 我想这一点,但它只能用“纯”字符串的工作,不能转换%D,%*。LF(我的打印功能只需要两次转换) 无效dupPrint(FILE * FP,字符*字符串) { 的p
..
这看起来像一个简单的问题,但我没有在这里找到类似的事情。 由于在C中没有文件拷贝功能,我们必须实现文件复制自己,但我不喜欢重新发明轮子即使这样琐碎的东西,所以我想问一下云: ç$ C,你会推荐什么$文件复制使用fopen()函数/ FREAD()/ fwrite()将? ç$ C,你会为文件的复制使用open(推荐什么$)/读取()/写()? 这code应该是可移植(Windows
..
我写了一个程序,它需要一个文件作为输入,一发现长度> 80线,它增加了\\和\\ n至该文件,使其80个字符的宽度最大。 问题是,我已经使用fseek的插入\\和\\ n只要长度超过80,因此它将覆盖该行超过80长度的两个人物有没有用,我可以插入文本没有覆盖的方式存在文本? 下面是我的code: - #包括LT&;&stdio.h中GT; #包括LT&;&string.h中GT;INT主(I
..
首先,我知道,打开一个文件,fopen()函数,而不是关闭它是可怕的不负责任,和不好的形式。这只是纯粹的好奇心,所以请我的幽默:) 我知道,如果一个C程序打开一堆文件,并永远不会关闭任何人,最终fopen()函数将启动失败。是否还有其他的副作用,可能导致code本身之外的问题?举例来说,如果我有打开一个文件,然后退出而不将其关闭程序时,可能会导致运行该程序的人有问题?将这样的程序泄露任何东西(内
..
我在看的Linux工具 badblocks 来源$ C $ C。他们使用阅读()函数那里。有没有标准C FREAD()的功能有区别吗? (我不计算参数为差异。) 解决方案 阅读()为低电平,无缓冲读。这使得UNIX上的直接系统调用。 FREAD()是C库的一部分,并提供缓冲读取。它通常是为了填补其缓冲区调用read()实现的。
..
我要删除一个文件中的某些行和在基于所述线的某些部分是否指定的字符串匹配相同文件插入某些行。是否有这样做不使用临时文件的内容复制到等的一种方式? 解决方案 但问题是,文件是(基本上)在磁盘上的字节数组(或任何其他物理基底,但字节反正!),而“行“可以采取不同的字节数;所以插入或删除行(除非你总是严格地与替换恰好字节长度相同的另一条线一条线)将需要以字节为单位的区别“转移”文件“向上”的所有其
..
我想通过文件里逐行读取,不知道之前的线路长度。这是我走到这一步: INT CH = GETC(文件); INT长度= 0; 字符缓冲区[4095];而(CH ='\\ n'和;!&安培;!CH = EOF){ CH = GETC(文件); 缓冲区[长度] = CH; 长++; }的printf(“线长:%d个字符”,长度);焦炭newbuffer [长度+ 1];的fo
..
今天的问题是,我需要在起始位置写数字的二进制文件的数组。我有中应开始的位置,我不希望覆盖后的价值,只是想在文件中的起始位置插入阵列。例如: 12345 我们推456在位置2: 12456345 我知道,可能我会通过自己来实现它,但我想知道什么是你如何尽可能有效实施尽可能意见。 解决方案 下面是一个函数 extend_file_and_insert(),没有工作,或多或少。的#inc
..
问:我试图更新文件 的地方,使用的fopen模式“R +”, 读取某些字符串,写 背了修改后的字符串,但它不是 工作。 答:请务必之前调用fseek的 你写的,既要寻求回 开始你想要的字符串 覆盖,和,因为fseek的 或fflush始终是必需的 读写的读/写 “+”模式。 我的问题是,为什么 fseek的或 fflush 总是需要阅读和写作之间在读/写“+”模式?
..
我想读一个文本文件的内容到C.换行字符数组必须保持。 我如何做到这一点?我在网上找到了一些C ++的解决方案,但没有C解决方案。 编辑:我有以下的$ C $现在C: 无效*的loadFile(字符*文件,为int *的大小) { FILE * FP; 长LSIZE; 字符*缓冲区; FP = FOPEN(文件,“RB”); 如果(FP!)PERROR(文
..
写的是在不以二进制方式发生文本模式中打开一个文件时,会发生什么翻译?特别是在MS的Visual C 无符号字符缓冲区[256]; 的for(int i = 0; I< 256;我++)缓冲[我] =我; INT大小= 1; 诠释计数= 256; 二进制模式: FILE * fp_binary = FOPEN(文件名,“世行”); FWRITE(缓冲区大小,计数,fp_binary);
..
POSIX环境提供访问文件至少有两种方法。有标准的系统调用的open(),阅读(),的write(),和朋友,但也有使用的mmap()来将文件映射到虚拟内存的选项。 当它是preferable使用一个比其他?他们算什么个人优势优点包括两个接口? 解决方案 MMAP是伟大的,如果你有多个进程相同的文件,这是常见的那种服务器系统我写在只读方式访问数据。 MMAP允许所有这些进程共享相同的物理
..
是否有一个(跨平台)的方式获得从C A C FILE *手柄++的std :: fstream的? 我想问的原因是因为我的C ++库接受fstreams,在一个特定的功能,我想用一个接受文件中的C库*。 解决方案 简短的答案是否定的。 究其原因,是因为的std :: fstream的不需要使用 FILE * 作为其一部分它的实现。所以,即使你设法从中提取的std :: fstream的
..
有没有你想使用的任何原因(除了那些句法等) FILE * fdopen(INT FD,为const char *模式); 或 FILE *的fopen(为const char *路径,为const char *模式); 而不是 INT开放(常量字符*路径,诠释标志,mode_t模式); 在Linux环境下使用C时, 解决方案 有使用四个主要原因的fopen,而不是开放的。
..
我写了这个功能从文件中读取一个行: 为const char *的readLine(FILE *文件){ 如果(文件== NULL){ 的printf(“错误:文件指针为空”); 出口(1); } INT maximumLineLength = 128; 字符* lineBuffer =(字符*)malloc的(的sizeof(char)
..
我似乎有一个带提升的问题:: ::间file_lock 我有过程1的基本上 的boost ::进程间:: file_lock test_lock(“testfile.csv”); test_lock.lock(); 睡眠(1000); test_lock.unlock(); 当我运行,而第一个进程正在休眠的第二过程中,我发现,我仍然能够读取testfile.csv。
..
我设法升压的iostream集成的API读取压缩文件。我跟着提升页面的文档,并具有以下code迄今为止在: 的std :: stringstream的outStr; ifstream的文件(“file.gz”的ios_base ::在|的ios_base ::二进制); 尝试{ 提高::输入输出流:: filtering_istreambuf的; in.push(升压::
..
我注意到,Boost.Asio的有很多涉及到插座,串行端口,以及各种非文件示例的例子。谷歌还没有真正打开了很多关于我提到,如果ASIO是做异步文件好还是有效的方法I / O。 我有采空区的数据,我想写入到磁盘异步。这可以用在Windows(我的平台)原生重叠IO来完成,但我preFER有一个独立于平台的解决方案。 我很好奇,如果 Boost.Asio的具有任何类型的文件支持 Boost
..
我有一个现成的位图图像。现在,我要救&安培;删除它。我米做它像.. 的FileConnection fconn = (FileConnection)Connector.open(\"file:///store/home/user/StoredBitmap/\"+picIndex+\".bmp\",Connector.READ_WRITE); 如果(!fconn.exists())
..
我有两个应用程序,我装上一个黑莓手机,一种是本地应用程序,另一种是基于PhoneGap的/科尔多瓦的应用程序。 这两个应用程序共享的设置文件:文件:///store/home/user/myfile.txt 要通过科尔多瓦访问该文件,我呼吁: fileSystem.root.getFile(“家用/用户/ myfile.txt的”,空,gotFileEntry,失败); 然而,在某些设备上
..