stdio相关内容

究竟是什么在C文件的关键字?

我已经开始学习一些C作为一种业余爱好,并盲目地使用文件作为在相当一段时间的指针文件声明,我一直在想。这是一个关键字或特殊的数据类型对于C来处理与文件?它包含的流中的文件和其它数据?为什么它定义为一个指针? 一个例子来说明我的意思,使其多一点明确的: FILE * FP; //< - 这 FP = FOPEN(“datum.txt”,“R”);而(!的feof(...)//等。 ..
发布时间:2016-08-18 22:29:50 C/C++

在C字符串流

print2fp(常量无效*缓冲区,为size_t大小,文件*流){ 如果(fwrite的(缓冲液,1,尺寸,流)!=大小) 返回-1; 返回0; } 如何将数据写入字符串流,而不是文件流? 解决方案 有在POSIX标准2008年一个非常整洁的功能: ..
发布时间:2016-08-18 14:48:08 C/C++

freopen函数:回复到原来的流

我需要向前标准输出到不同的文件分离产生了一些版画和恢复恢复到正常标准输出。 我用则freopen 切换到这样的文件: 字符名称[80]; memset的(姓名,0,80); 的strcpy(名字,“./scripts/asm/”); strcat的(名字,m_func-> m_name-> m_value); strcat的(名字,“.shasm”); freopen函数(名称,“ ..
发布时间:2016-08-18 14:27:08 C/C++开发

空白格式字符串(scanf函数)

考虑以下code: #包括LT&;&stdio.h中GT; 诠释主(){ INT I = 3,J = 4; scanf函数(“%D C%D”,与功放I,功放; j)条; 的printf(“%D”,I,J); 返回0; } 它的工作原理,如果我给 2C3 或 2 C 3 或 2C 3 作为输入,如果我必须要改变的变量的值。我应该怎么做,如果我希望用户,我想是指输 ..
发布时间:2016-08-18 14:25:16 C/C++

GCC致命错误:stdio.h中:没有这样的文件或目录

我想用C编译程序在OS X 10.9与GCC 4.9(实验)。出于某种原因,我得到下面的错误在编译时: GCC:致命错误:stdio.h中:没有这样的文件或目录 我又试图一个简单的Hello World程序:的#include<&stdio.h中GT;INT主(INT ARGC *,为const char * argv的[]) { 的printf(“你好,世界!”); ..
发布时间:2016-08-18 13:59:42 C/C++

FCLOSE()/ pclose函数()可能会阻止某些文件指针

调用 FCLOSE()这里经过 DUP() ING的文件描述符块,直到子进程结束( presumably因为流已经结束)。 FILE * F =的popen(“./输出”,“R”); INT D = DUP(的fileno(f)条); FCLOSE(F); 但是,通过手动执行管道(),叉(), execvp( )的的popen(),然后 DUP() ING管道的读取文件描述,关闭原始不会阻 ..
发布时间:2016-08-18 13:30:26 服务器开发

无法打开使用的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++开发

迫使程序刷新其标准输出重定向时

我有打印输出到标准输出一个封闭源代码的程序。我需要解析输出。所以我将输出重定向到一个FIFO使用dup2(从中我可以在叉和高管二进制父进程读取),然后执行的是程序。的问题是,fprintf中成为缓冲,因为它现在写入文件的文件中调用 我打过电话与标准输出_IONBF setvbuf用来调用exec之前。但问题依然存在。 为什么不setvbuf用来在我的情况下帮助? 我怎么能强制输出就脸红? ..
发布时间:2016-08-17 23:19:55 服务器开发

等价的C到fstream的的偷看

我知道在C ++中,你能够通过使用下一个字符偷看: in.peek(); 我 怎么会去这样想“窥视”当一个文件在C下一个字符? 解决方案 龟etc +的与ungetc 。也许是这样的: INT fpeek(FILE *流) { INT℃; C =龟etc(流); 与ungetc(C,流); 返回℃; } ..
发布时间:2016-08-17 22:54:38 C/C++

尝试和使用C真正简单的文件复制code?

这看起来像一个简单的问题,但我没有在这里找到类似的事情。 由于在C中没有文件拷贝功能,我们必须实现文件复制自己,但我不喜欢重新发明轮子即使这样琐碎的东西,所以我想问一下云: ç$ C,你会推荐什么$文件复制使用fopen()函数/ FREAD()/ fwrite()将? ç$ C,你会为文件的复制使用open(推荐什么$)/读取()/写()? 这code应该是可移植(Windows ..
发布时间:2016-08-17 22:50:08 C/C++

为什么这code打印两次?

可能重复:结果 在linux GCC叉()的工作 的#include<&stdio.h中GT;无效的主要() { 的printf(“侨”); 叉子 (); } 我有关于C优化的一些想法,但我不知道。希望你知道答案了。 解决方案 在code可能会打印“侨”两倍标准输出缓冲IO所以标准输出内部缓冲区将在子进程中复制和两个缓冲区刷新当每个过程中,家长和孩子,退出。 这是无关的优 ..
发布时间:2016-08-17 22:32:18 C/C++

你怎么能刷新使用文件描述符写?

原来开()与fopen()函数从在Linux 2.6.14内核在手腕上的越野车I2C驱动茎的这整个误解。向后移植工作有点殴打司机解决了,我想在这里解决问题的根本原因。 我想弄清楚的一个问题,在Linux操作系统(I2C)串行设备驱动程序。看来,通过增加写入之间定时OS暂停(睡),并读取工作的事情在设备上......(多)更好。 旁白:的 I2C的本质是由主机读取或写入每个字节由设备承认 ..
发布时间:2016-08-17 22:20:27 服务器开发

STDLIB并用C彩色输出

我想提出一个简单的应用程序,它需要彩色输出。我怎样才能让我的彩色输出Emacs等和bash办? 我不关心的Windows,因为我的应用程序仅适用于UNIX系统。 解决方案 所有的终端仿真器使用ANSI转义codeS显示颜色和其他的东西。结果 不要用库打扰,在code是非常简单的。 更多信息是这里。 实例C: 的#include<&stdio.h中GT;#定义ANSI_COL ..
发布时间:2016-08-17 21:45:58 C/C++

是否有一个Windows等同于fdopen的手柄?

在Unix上,如果有一个文件描述符(从插座,管道例如,或者从你的父进程继承),你可以打开一个缓冲I / O FILE * 流它与 fdopen(3) 。 是否有 HANDLE S于Windows中的相同呢?如果你有一个 HANDLE 这是从你的父进程(从标准输入,标准输出,或标准错误不同),或从 CreatePipe ,是有可能得到一个缓冲 FILE * 流? MSDN文档是否 _fdopen ..
发布时间:2016-08-17 21:39:04 C/C++

阅读使用scanf()的不好的线路?

scanf函数(“%[^ \\ n]”,线); 我的一个朋友建议使用与fgets()来读取一行输入会比使用 scanf()的一个更好的主意如上声明。他是有道理的吗? 解决方案 字符*与fgets(的char * str中,INT NUM,FILE *流); 是安全的使用,因为它避免缓冲区溢出问题,仅扫描 NUM-1 字符数。 从读取字符流,并将它们存储为C字符串str中,直 ..
发布时间:2016-08-17 21:26:43 C/C++

什么是在使用C一个文本文件中返回一个随机行的最佳方法是什么?

什么是在使用C一个文本文件中返回一个随机行的最佳方法是什么?它使用标准I / O库(<&stdio.h中GT; ),因为它是任天堂DS自制软件 澄清: 文件中使用的标题来存储行不会为我所想要做的工作的数量。 我希望它尽可能随机(如果每一行都有被选为每隔一行的概率相等的最佳福祉。) 在程序正在运行的文件永远不会改变。 (这是DS,所以没有多任务处理。) 解决方案 阅读每一条 ..
发布时间:2016-08-17 21:24:23 C/C++

code在C printf函数

可能重复:结果 的C / C ++函数源$ C ​​$ C 我想知道我在哪里可以找到C code,它的使用,所以当我写的printf(的“Hello World!”);在我的C PROGRAMM知道它具有打印字符串到stdout。我看了上述< stdio.h中>中但我只能找到它的原型int的printf(为const char *格式,...),但它并不怎么看起来像内部 ..
发布时间:2016-08-17 21:11:12 C/C++

如何读取/解析输入用C?常见问题解答

我有我的C程序问题,当我尝试读取/解析输入。 帮助? 这是一个常见问题。 计算器具有的许多的与读取输入C,与通常在特定用户的特定问题集中没有真正画的全貌答案的问题。 这是讨论该问题​​的COM prehensively一种尝试,要特别注意常见的错误,所以大部分这些问题可以通过将它们标记为这一次的副本很简单地回答: 为什么最后一行打印两次? 为什么我的 scanf函数(“%d个”,. ..
发布时间:2016-08-17 20:41:39 C/C++