首页
学习
活动
专区
工具
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所示。

2.8K00

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()得到的值%一个设定的值,再与另一个值做“==”运算。

3.8K20

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.8K30

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.4K20

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.5K10

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 在上一层函数的栈.

13.4K83

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

1.4K20

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函数的返回值直接来判断⽂件的是否结束。

9610

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 获取流的当前位置

1.9K10

⽂件操作(详解!)

程序⽂件包括源程序⽂件(后缀.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.

8910

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函数来关闭文件。

8610

C语言】文件及文件操作详解(fseek,ftell,rwind)

程序设计,我们谈到的文件一般有两种(从文件功能的角度来分类):程序文件、数据文件 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

c语言】详解文件操作(二)

不支持文件定位或者以追加模式打开流的情况下,总是文件的末尾追加字符。...用法也很简单,如果我们想向流pf写入十进制数,便可这样写: int a = 10; fprintf(pf, "%d", a); 我们之前就了解过了标准输入流stdin和标准输出流stdout都是FILE..., size_t count, FILE * stream ); fread函数从stream指向的流读取个数count大小size的元素到ptr。...: long int ftell ( FILE * stream ); 如果成功使用便会返回文件指针相当于文件起始位置(即SEEK_SET)的偏移量,如果函数使用失败便会返回-1。...ftell函数常常和fseek函数联用,先使用fseek根据当前文件指针位置设置偏移量,然后使用ftell函数确定fseek后的文件指针位置,具体使用如下: fseek(pf, -3, SEEK_END

8710

一日一技: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语言——P文件操作

1、程序文件 程序⽂件包括源程序文件(后缀.c),⽬标文件(windows环境后缀.obj),可执行程(windows环境后缀.exe)。...以前各章所处理数据的输⼊输出都是以终端对象的,即从终端的键盘输⼊数据,运⾏结果显示到显示器上。...那是因为C语⾔程序启动的时候,默认打开了3个流: • stdin-标准输入流,大多数的环境从键盘输入,scanf 函数就是从标准输入流读取数据。...• stdout-标准输出流,大多数的环境输出至显示器界面,printf 函数就是将信息输出到标准输出流。 • stderr-标准错误流,大多数环境输出到显示器界面。...这是默认打开了这三个流,我们使⽤scanf、printf 等函数就可以直接进行输入输出操作的。 stdin、stdout、stderr三个流的类型是: FILE* ,通常称为文件指针。

8810

创建 Vitis 加速平台第 1 部分: Vivado 加速平台创建硬件工程

本文系《创建 Vitis 加速平台的简单指南》的第 1 部分。...您可通过下列链接查看其它各部分: 第 2 部分: PetaLinux 加速平台创建软件工程 第 3 部分: Vitis 中封装加速平台 第 4 部分: Vitis 测试定制加速平台 引言...因此,进行时钟设置配置时需牢记此信息。 我添加了 3 个输出时钟:100Mhz、150Mhz 和 300Mhz: ? 并将复位极性设置低电平有效 (Active Low): ?... AXI Interrupt Controller ,将“中断输出连接 (Interrupt Output Connection)”设置“单连接 (Single)”,并将其连接到 Zynq UltraScale...如需了解后续步骤,请参阅本系列博客的第 2 部分: PetaLinux 加速平台创建软件工程 Original Source: Creating an Acceleration Platform

1.9K30

C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否素数,若为素数函数返回值1,否则为0。函数输入一个整数x,调用函数isprime(x)来判断这个整数x是

QQ:2835809579 有问题私聊我或者留言到评论区 原题: 定义一个函数int isprime(int n),用来判别一个正整数n是否素数,若为素数函数返回值1,否则为0。...函数输入一个整数x,调用函数isprime(x)来判断这个整数x是不是素数,给出判断结果。...输入输出示例 第一次运行: 输入:12 输出:NO 第二次运行: 输入:37 输出:YES 代码: #include int isprime(int n) { int i; for (i=2; i<=n-1;...i++) { if (n %i==0) return 0;} return 1; } int main() { int x,y; printf("请输λ一个整数: "); scanf("%d",&x)

3.7K20
领券