38得票4回答
C语言中的FILE关键字是什么?

我作为一项业余爱好开始学习C语言,并在相当长的时间内盲目地使用FILE作为文件指针的声明,我一直在想。这是C语言用于处理文件的关键字或特殊数据类型吗?它是否包含对文件的流和其他数据的引用?为什么它被定义为指针? 以下是一个示例,以使我的意思更加清晰:FILE* fp; //<-- th...

37得票2回答
查找所有子串出现的次数和位置

我正在编写一个程序来解析一些保存为文本文件的数据。我正在尝试做的是找到干草堆中每根针的位置。我已经可以读取文件并确定出现次数,但我还想找到它们的索引。

35得票2回答
有没有类似于fdopen用于HANDLE的Windows等价物?

在Unix中,如果您有一个文件描述符(例如来自套接字、管道或从父进程继承的),您可以使用fdopen(3)在其上打开带缓冲的I/O FILE*流。 在Windows上是否有与HANDLE相对应的类似方法呢?如果您有一个从父进程继承而来的HANDLE(不同于stdin、stdout或stder...

35得票13回答
在C++代码中应该使用哪个C I/O库?

在新的C++代码中,我倾向于使用C++ iostream库而不是C stdio库。 我注意到一些程序员似乎坚持使用stdio,认为它更方便移植。 这是真的吗?哪种更好使用呢?

34得票6回答
如果在“scanf”语句中没有放置“&”,会发生什么?

我曾经参加过一次面试,被问到以下问题: 你认为以下内容怎么样?int i; scanf ("%d", i); printf ("i: %d\n", i); 程序将会成功编译。 程序会打印错误的数字,但会一直运行到结束而不崩溃。 我当时的回答是错误的。我被压倒了。 之后他们解雇了我:...

34得票3回答
C语言中等同于fstream的peek函数

我知道在C++中,可以使用in.peek();来查看下一个字符。 当尝试在C语言中“窥视”文件的下一个字符时,该怎么做呢?

33得票3回答
自动刷新的C等效代码(每次写入后刷新stdout)?

在 Perl 中,我可以输入:$|++; 而且任何输出到STDOUT的内容都将自动刷新(fflush())。在C语言中有等价物吗?换句话说,我是否可以告诉stdio在每个printf()后自动fflush stdout,就像它自动刷新stderr一样?

32得票3回答
如何在C语言中从stdio获取一个整数?

我遇到了这个问题的巨大困难...printf("> "); int x = getchar(); printf("got the number: %d", scanf("%d", &x)); 输出> 1234 got the number: 1

31得票6回答
在C语言中检测EOF

我正在使用以下的 C 代码从用户处获取输入,直到出现 EOF,但问题是这个代码没有运行,它在获取第一个输入后就终止了。这个代码有什么问题?float input; printf("Input No: "); scanf("%f", &inpu...

30得票3回答
为什么fread函数提前到达了EOF?

我正在编写一个C语言库,将文件读入内存。它会跳过文件的前54个字节(头部),然后将剩余部分作为数据读入。我使用fseek来确定文件的长度,然后使用fread读取文件。 循环运行一次,然后因为到达EOF(无错误)而结束。最后,bytesRead = 10624,ftell(stream) = ...