首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ftell函数在C中为stdout赋予-1

在C语言中,ftell函数用于获取文件的当前位置。当ftell函数的参数为stdout时,它实际上是在尝试获取标准输出流的位置。但是,标准输出流stdout是一个输出流,而不是一个文件,因此它没有类似于文件的位置概念。

在C语言中,标准输出流stdout是一个预定义的文件指针,它指向屏幕输出。当你尝试使用ftell函数获取stdout的位置时,它会返回-1,表示这个操作是无效的。

如果你想要获取输出流的位置,你需要使用其他方法,例如ftell函数与文件流一起使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C++fprintf()函数stdout、stderr

参考链接: C++ fprintf() 1 fprintf()函数  fprintf()函数的作用是将格式化的数据打印到流。...对于fprintf()函数的详细用法,请参考《利用文件流实现文件读写》  和《C++scanf和printf系列函数简介》  2 stdout和stderr  stdout是标准的输出流,而stderr...stdout和stderr的类型都是FILE*,stdio.h定义。默认情况下,stdout和stderr的数据都会被打印到屏幕上。 ...;  因为“2 stdout和stderr”中提到,默认情况下,stdout和stderr的数据都会被打印到屏幕上,所以此时的输出如图1所示。 ...需要注意的是,使用默认方式重定向,只能重定向stdout,而不能重定向stderr,即此时stdout的数据保存到了1.txt,而stderr流的输入依然屏幕显示,如图2、图3所示。

3.3K01

PHP 自定义 function_alias 函数函数创建别名

我们知道 PHP 有一个类创建一个别名的函数:class_alias,比如我们有个类名字是 WPJAM_Items,我们希望使用 WPJAM_Item 的时候效果一致,可以使用下面的代码类 WPJAM_Items...class_alias('WPJAM_Items', 'WPJAM_Item'); 但是 PHP 就没有可以为函数创建一个别名的函数,比如我之前创建了一个函数 wpjam_is_mobile 来判断当前用户的设备是不是移动设备...,但是后面发现 WordPress 已经通过 wp_is_mobile 函数实现了该方法。...于是我把自己写的函数直接通过 WordPress 的函数实现: function wpjam_is_mobile(){ return wp_is_mobile(); } 这样感觉上略显繁琐,没有创建别名的方式简洁...,那么我们就自己创建一个 function_alias 函数,实现为函数创建别名: function function_alias($original, $alias){ if(!

1.9K30
  • c语言random函数vc,C++ 随机函数random函数的使用方法

    C++ 随机函数random函数的使用方法 一、random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。 可改用C++下的rand函数来实现。...1C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少32767。rand()函数不接受参数,默认以1种子(即起始值)。...(但这样便于程序调试) 2、C++另一函数srand(),可以指定不同的数(无符号整数变元)种子。但是如果种子相同,伪随机数列也相同。一个办法是让用户输入种子,但是仍然不理想。...这样,如果你要产生0~10的10个整数,可以表达: int N = rand() % 11; 这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样: int N = 1 + rand()...三、按要求设置概率 比如要设置一个10%的概率问题,我们可以采取rand()函数来实现,if条件句判断里,用rand()得到的值%一个设定的值,再与另一个值做“==”运算。

    5K20

    Perl扩展C库(1):XS语言(更新

    1 前言 XS是Perl与C的胶水语言,通过它能在Perl创建方法,以此扩展C函数或新定义的C函数,详情可参阅《官方手册:perlxs》。...(char *c); 那么XSUB的参数列表可以分别表示: char *s char &c 它们都表达着C语言中的指针,当然仍旧有一些细微的差别,在后续“The & Unary Operator...默认情况下,XSUB创建的C函数会用RETVAL去存储调用C函数时得到的返回值。 简单的情况下,RETVAL的值会被放在ST(0),最终作为XSUB的返回值被Perl接收。...通常有以下两种用途: 指示变量函数返回值 指示参量列表的变量出参 在那些没有包含CODE:或PPCODE:章节的简单函数,RETVAL变量会被自动指示函数出返回值,而在其它情况下,则需要OUTPUT...这种风格是贴近Perl风格的,即把一个带有返回值的C函数,改为一个没有返回值但会抛出异常的Perl函数。 3.8 章节:CODE 该章节用于复杂的XSUB,章节写入一些C语句。

    3.6K20

    NSGA-Ⅱ算法C++实现(测试函数ZDT1

    在看C++实现之前,请先看一下NSGA-II算法概述 https://www.omegaxyz.com/2017/04/14/nsga-iiintro/ NSGA-Ⅱ就是第一代非支配排序遗传算法的基础上改进而来...提出了快速非支配排序算法,一方面降低了计算的复杂度,另一方面它将父代种群跟子代种群进行合并,使得下一代的种群从双倍的空间中进行选取,从而保留了最为优秀的所有个体; ②引进精英策略,保证某些优良的种群个体进化过程不会被丢弃...利用qsort对F[i]数组按照cmp3排序 C++ int cmp1(const void *a,const void *b) //目标函数f1的升序排序 {     const individual...F1、F2…….. 3、按照需要计算Fi中所有个体的拥挤距离,并根据拥挤比较运算符构造Pt+1,直至Pt+1规模N,图中的FiF3 ?...fvalue[1]=g*(1-sqrt(value[0]/g)); } 判断目标函数值是否被支配: C++ bool e_is_dominated(const individual &a,const

    1.7K10

    深入挖掘C语言 ---- 文件操作

    C程序对文件, 画面, 键盘等的数据输入输出操作都是通过流操作的. 一般情况下, 我们想要向流里写数据, 或者从流读取数据, 都是打开流, 然后操作. 1.1.2标准流 C语言程序启动的时候....默认打开了3个流: stdin: 标准输入流, 大多数的环境从键盘输入, scanf函数就是从标准输入流读取数据 stdout: 标准输出流, 大多数的环境输出到显示器界面, printf函数就是将信息输出到标准输出流...如果函数执行成功,则返回0;如果执行失败,则返回非0值,通常是-1实际使用,我们可以根据fseek函数的返回值来判断文件指针位置是否成功移动。...返回⽂件指针相对于起始位置的偏移量 long int ftell ( FILE * stream ); ftell函数接受一个指向文件的指针作为参数,然后返回当前文件指针相对于文件起始位置的偏移量(以字节单位...读取结束判定 文本文件: 读取过程不能用feof函数的返回值直接来判断文件是否结束 feof的作用是: 当文件读取结束的时候, 判断是否读取结束的原因是否是: 文件末尾 fgetc判断是否EOF

    9410

    C语言详解(文件操作)1

    程序文件:源程序文件(后缀.c),目标文件(windows环境后缀.obj),可执行程序(windows环境后缀.exe) 数据文件:文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件...一个数据文件是怎么存储的呢?...因为C语言程序启动的时候,默认打开了下面这3个流: stdin:标准输入流,大多数环境从键盘输入,scanf函数就是从标准输入流读取数据 stdout:标准输出流,大多数环境输出到显示器界面,...printf函数就是将信息输出到标准输出流 stderr:标准错误流,大多数环境输出到显示器界面 stdin、stdout、stderr三个流的类型是FILE *,通常称为文件指针,C语言中就是通过...n", ch);//e //关闭文件 fclose(pf); pf = NULL; return 0; } 3.2 ftell 返回文件指针相对于起始位置的偏移量 ftell函数的原型如下

    5410

    C语言ARM函数调用时,栈是如何变化的?

    1. r0-r3 用作传入函数参数,传出函数返回值。子程序调用之间,可以将 r0-r3 用于任何用途。被调用函数返回之前不必恢复 r0-r3。...被调用函数返回之前不必恢复 r12。 4. 寄存器 r13 是栈指针 sp。它不能用于任何其它用途。sp 存放的值退出被调用函数时必须与进入时的值相同。 5....这里以一段简单的 c 语言例: #include int m = 8; int fun(int a,int b) { int c = 0; c = a + b;...1.程序在内存分布区域 2.全局变量m赋值 3.保存进入main之前的栈底, fp-sp之间是当前函数栈 4.函数main的栈已经准备好了 5.i入栈 6.j入栈 7.准备函数fun的调用, 形参反向入栈...fun代码 13.c入栈 14.可以看到函数fun的数据 形参a,b 在上一层函数的栈.

    14K84

    C++定义一个函数bool类型的作用「建议收藏」

    true; else return false; } int main(){ //main()调用函数就可以得到5261函数的返回结果4102...<< endl; } return 0; } 3.bool与BOOL的区别 BOOL是微软定义的typedef int BOOL,用途是解决程序CC++中环境的差异。...BOOL与bool不同,它是一个三值逻辑,TRUE/FALSE/ERROR,定义于WinDef.h头文件。返回值1的整数TRUE,0FALSE,-1ERROR。...实际上BOOLint型,占4个字节,标准赋值:TRUE和FALSE。TRUE和FALSE预处理阶段都会分别被1和0替换。...false 2)BOOL是int型,当值0时,可认为是FALSE,当值1的时候,可看做TRUE 注意: 1)如果是写标准的C++,那么就全用bool; 2)如果是写vc++,就尽量使用BOOL

    2.1K20

    c语言】巨巨巨详细!—— 文件操作(笔记整理)

    &赋值的变量/结构体变量) 对比一下 scanf("占位符",&要赋值的变量) 特别提醒点: 上述的输入——写和输出——读的函数 不仅可以文件里生效,也可以程序像printf或者scanf那样使用...  如6的打印结构体内容 这里我个人理解,其与printf的区别就是多了个需要笔的工具,这里的笔用stdout代替。...输出的”笔“是stdout,而输入的”笔“则是stdin 7.sprintf函数和sscanf函数 因为提到了fprintf和fscanf,干脆也去学了sprintf和sscanf。...具体用法 long int ftell ( FILE * stream ) 如上笔记的pf作为我们文件指针名 具体使用则: ftell(pf) 此时比如文件指针读到1.的 t的 位置 ,其离初始位置偏移量...4,则该函数返回值4。

    8810

    C++:cstdio 头文件详解

    (stdio.h) header C库执行输入/输出操作: 输入和输出操作也可以C++实现,通过使用C标准输入和输出库(cstdio,C语言中称为stdio.h)。...使用库的时候会自动创建三个标准流:stdin, stdout and stderr; 流属性 Streams有一些属性可以定义可以它们上使用哪些函数以及它们如何通过它们处理数据输入或输出。...它的值可以通过ftell和fgetpos函数获得,并且可以使用rewinding,fseek和fsetpos重新定位函数来更改。...将字符写入流 putchar 将字符写入stdout puts 将字符串写入stdout ungetc 将字符放回流 ---- 直接输入/输出: (function ) fread 从流读取数据块...fwrite 写数据块到流 文件定位: (function ) fgetpos 获取流的当前位置 fseek 重新定位流位置指示符 fsetpos 设置流的位置指示符 ftell 获取流的当前位置

    2.2K10

    C语言】文件与文件操作

    1何为文件,何为流 1.1 文件与流 我们可以把流想象一条流淌的河,里面是我们的数据。...大多数环境键盘输入。scanf与getchar就是使用该流。 stdout ——— 标准输出流)(standard output stream) 用于写入普通输出的流。...大多数环境输出至显示器界面。printf,puts,与putchar都会使用该流。 stderr ——— 标准错误流(standard error stream) 用于写出错误的流。...关于具体用法可以查询 C++网站 c++ 4 文件的随机读写 这里稍微复杂一点,会使用fseek函数ftell函数,rewind函数(都包含在)。...5 文件读写结束的判定 一般使用feof来进行判断 但是这里有一个误区 ⽂件读取过程,不能⽤feof函数的返回值直接来判断⽂件的是否结束。

    12610

    文件的介绍

    注: 1.针对fprintf如果需要打印屏幕上,则第一个参数使用stdout,需要打印文件,则第一个参数使用文件名。...ftell ftell的作用是返回文件指针相对于初始位置的偏移量 使用ftell函数时,需要注意以下几点: 返回值当前文件指针相对于文件开头的偏移量,如果操作成功返回非负值,如果失败返回-1。...ftell函数通常与fseek函数配合使用,可以实现定位文件指针到特定位置后获取当前位置的功能。 当进行读写操作时,可以使用ftell函数获取当前文件指针的位置,以便记录或处理文件操作的位置信息。...rewind rewind的作用是让文件指针回到初始位置 使用rewind函数时,需要注意以下几点: rewind函数将文件指针设置文件的起始位置,即相当于调用fseek(stream, 0, SEEK_SET...文件缓冲的过程可以理解泄洪——当积蓄了一定的水量时,打开出口让水出去。 文件缓冲区主要有以下两种类型: 1.

    8810

    ⽂件操作(详解!)

    程序⽂件包括源程序⽂件(后缀.c),⽬标⽂件(windows环境后缀.obj),可执⾏程序(windows环境后缀.exe) 大家打开磁盘可以看到,我们所运行起来的程序存储磁盘的后缀都是.exe...⽂件名包含3部分:⽂件路径+⽂件名主⼲+⽂件后缀 为了⽅便起⻅,⽂件标识常被称为⽂件名 例如: c:\code\test.txt 这里的c的意思就是存储c,code时该文件c盘中所存储的文件路径...例如: 如有整数10000,如果以ASCII码的形式输出到磁盘,则磁盘占⽤5个字节(每个字符⼀个字节),⽽⼆进制形式输出,则在磁盘上只占4个字节 1作为字符,它的ASCII码值是49,所以100110001...stdin、stdout、stderr三个流的类型是: FILE* ,通常称为⽂件指针,C语⾔,就是通过 FILE* 的⽂件指针来维护流的各种操作的。...件读取过程,不能⽤feof函数的返回值直接来判断⽂件的是否结束 1.

    12810

    一日一技:Python别人的函数设定默认参数

    使用一些科学计算的库时,我们会发现他们动不动就十几二十个参数。这些参数太多了,以至于有一些参数我们甚至根本不会修改,但是又不得不添加上去。...如果是我们自己定义的函数,那么可以使用默认参数来实现,例如: def calc(a, b, c, d, e=12, f='test', g=False): s = a + b + c + d *...4) 调用的时候,由于 e f g都有默认参数,所以我们可以不用传入。...= simple_calc(3, 4) 当我们使用 partial(calc,1,2)时,它就提前为calc函数设定好了第一、第二个参数分别为1和2,然后当我们再调用 simple_calc并传入3,...例如: simple_calc = partial(calc, 1, f='test', g=True) 此时就指定了第1个参数1,名为f的参数的值test,名为g的参数的值True。

    1.1K20

    C语言】文件操作

    什么是文件 程序设计,我们谈到的文件一般有两种(从文件功能的角度来分类):程序文件、数据文件 2.1 程序文件 程序文件包括源程序文件(后缀.c)、目标文件(Windows环境下后缀.obj,linux...流基本上可以表示无限长度字符的源或目标。 C程序针对文件、画面、键盘等的数据输⼊输出操作都是同流操作的。 一般情况下,我们要想向流里写数据,或者从流读取数据,都是要打开流,然后操作。...4.1.2 标准流 C语言程序启动时,会默认打开三个流: ·stdin——标准输入流,大多数的环境从键盘输入 ·stdout——标准输出流,大多数环境输出到显示器界面 ·stderr——...stdin、stdout、stderr三个流的类型是:FILE*,通常被称为文件指针。 C语言中,就是通过FILE*的文件指针来维护流的各种操作的。...ANSI C规定使用fopen函数来打开文件,fclose函数来关闭文件。

    11610
    领券