printf相关内容

确定的sprintf缓冲区大小 - 有什么标准呢?

在转换成int类型,像这样: 字符A [256]; sprintf的(一,“%D”,132); 什么是确定多大的在的应该是最好的方法是什么?我想手动设置它是好的(因为我已经看到了使用,随处可见),但它应该多大?什么是可能在32位系统上最大的int值,并有确定的飞行?的一些棘手的方式 解决方案 在一个int位的最大可能的数量是 CHAR_BIT *的sizeof(INT),和一个十进制数字 ..
发布时间:2016-08-17 22:47:05 C/C++

在浮动小数printf的可变数目

我发现有趣的格式打印nonterminated固定长度字符串是这样的: 字符中newstr [40] = {0}; sprintf的(中newstr,“%*第”的sizeof(myStr中),myStr的); 所以,我想,也许是有打印浮点数的printf麾下的方式... “%8.2f” 不得不选择小数点后的位数与整数能力。 事情是这样的:的sprintf(myStr中,“%D%F ..
发布时间:2016-08-17 22:46:14 C/C++

printf的字符串,长度可变项

的#define SIZE 9 INT数= 5; 字符字母[SIZE] / *这不会是空终止* / ...烧焦fmt_string [20]; sprintf的(fmt_string,“%%Ð%%% DS”,SIZE); / * fmt_string =“%D%9D”......或者应该是* /的printf(fmt_string,数字,字母); 有没有更好的方法来做到这一点? 解决方案 ..
发布时间:2016-08-17 22:45:10 C/C++

如何打印用printf一个非空结尾的字符串?

我如何用printf,假设我知道在运行时的字符串长度打印一个非空结尾的字符串? 解决方案 的printf(“%* S”,长度字符串); 与其他ARGS一起使用:的printf(“整数=%d个,字符串=%* S,数=%F”,整型,长度,字符串,数字); // ^^^^ ^^^^^^^^^^^^^^ 在C语言中,你可以指定最大长度与%的输出。123S 格式。这意味着输出长度最多为123 ..
发布时间:2016-08-17 22:41:32 C/C++

C / C ++的printf()scanf函数()之前的问题

我使用Eclipse来code在C / C ++,我有可能是什么东西pretty容易挣扎。在我的code下面我用的printf()之后 scanf()的。 Althougth 的printf 之前写scanf()的输出不同。我能在这里找出一些关于类似问题的。但我没能解决这个问题。任何想法? code: 的#include<&stdio.h中GT;诠释的main() { INT M ..
发布时间:2016-08-17 22:41:18 C/C++

printf函数的异常输出

int类型的= 5; 浮动B = 3.5; 的printf(“%D”,B); 的printf(“\\ n%F”,一); 谁能告诉我为什么这个code是显示输出意外(垃圾\\ n3.5) 解决方案 格式字符串不正确的错误,根据你的 A 和的声明b :的printf(“%D”,B); < - “b为浮动”错了! 的printf(“\\ n%F”,一); < - “一个是一个i ..
发布时间:2016-08-17 22:32:52 C/C++

为什么这code打印两次?

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

不兼容的指针类型传递_Generic宏

以下code产生2警告其在问题的标题描述。 的#include<&stdio.h中GT;静态无效_print_f(浮点* F){printf的(“浮动:%F \\ n”,* F);} 静态无效_print_i为(int * I){printf的(“INT数:%d \\ n”,* I);}#定义打印(NUM)_Generic((NUM),\\ INT *:_print_i(NUM), ..
发布时间:2016-08-17 22:27:09 C/C++

跨平台格式字符串为size_t类型的变量?

在一个跨平台的C / C ++项目的(Win32,Linux和OSX),我需要使用* printf的函数来打印size_t类型的一些变量。在某些环境中为size_t的是8个字节,别人他们是4.在glibc的我有ZD%,而在Win32我可以使用的%ID 。有没有办法解决这个优雅的方式? 解决方案 的 PRIuPTR 宏(来自以下; inttypes.h>)定义了一个十进制格式 uint ..
发布时间:2016-08-17 22:23:38 C/C++开发

如何printf和联合区分beetween float和double

由于它不是强类型的我还以为它只是选择了正确的内存大小,跨preTED它根据参数的类型。但是,float和double都使用%f和他们是不同的大小。 P.S。 我可以看到通过价值复制到一个临时铸造推广如何(这是正确的?)可能工作 但它是如何进行工作scanfs / sscanf的? 解决方案 它不区分。这是不可能接收浮动作为可变参数:任何浮动参数您提供的第一个晋升为双击。 6.5.2 ..
发布时间:2016-08-17 22:22:39 C/C++

确实的printf(QUOT;%X",1)调用未定义行为?

据C标准(6.5.2.2第6款) 如果该表示称为功能恩pression有一个类型不包括一 原型,整数促销活动是在每个参数执行,论点 有float类型都提升到两倍。这些被称为默认参数 促销。如果参数的数量不等于的参数,数 行为是理解过程网络定义。如果函数是一个类型,其中包括一个原型定义去Fi和 无论是样机以省略号(...)或之后参数类型结束 促销不是同类型的参数兼容,行为定义理解过 ..
发布时间:2016-08-17 22:19:37 C/C++

请问这个方案的工作?

的#include<&stdio.h中GT;诠释主(){ 浮动= 1234.5f; 的printf(“%d个\\ N”,一); 返回0; } 它显示一个 0 !这怎么可能?什么是道理? 我特意放了%d个在的printf 语句学习的printf 。 解决方案 这是因为%d个预计的 INT 但您提供一个float。 使用%E / %F / %G 打印浮动。 在 ..
发布时间:2016-08-17 22:14:55 C/C++开发

错误的格式说明在scanf函数(或)的printf

由于的printf 功能而言,我理解从一些参考和实验以下。 当我们尝试打印是格式说明一个整数值,用于浮动(或)双,副主席反之亦然行为是的未predictable 。 但它是可以使用%C 打印字符相当于整数值。还使用%d个的打印字符的ASCII值(整数重新presentations)是可以接受的。 同样,什么是 scanf函数的行为,如果有格式说明的不匹配和arguements传递给s ..
发布时间:2016-08-17 22:11:09 C/C++

“%d个”预计类型'诠释'的说法,但参数2的类型为'长unsigned int类型'[-Wformat =]

我总是收到编译警告,但我不知道如何解决它: '%D'预计类型'诠释'的说法,但参数2的类型为'长期无符号整型“[ 该程序运行正常,但我仍然得到编译警告: / * Sizeof.c - 计划告诉C变量的字节大小* / #包括LT&;&stdio.h中GT;诠释主要(无效){ 的printf(“\\ nA的字符为%d字节”的sizeof(字符)); 的printf(“\\楠in ..
发布时间:2016-08-17 22:09:51 C/C++

用printf打印出的浮动值

#包括LT&;&stdio.h中GT; #包括LT&;&stdlib.h中GT;INT主要(无效) { INT X,* ptr_x; 浮楼* ptr_f; ptr_f =安培; F; ptr_x =安培; X; * ptr_x = 5; * ptr_f = 1.5; //的printf(“%d个%F \\ N”,F,X); 的printf(“\\ n \\ NXD =%d个 ..
发布时间:2016-08-17 22:08:45 C/C++

的sprintf()具有自动内存分配?

我在寻找一个的sprintf() - 样实现,它会自动分配所需的存储功能的。所以,我想说 的char * my_str = dynamic_sprintf(“%s您好,这是一个%。*真好%05D串”,A,B,C,D); 和my_str检索分配的内存保存此的sprintf()的结果。的ADRESS 在另一个论坛,我读这可以这样解决:的#include<&stdlib.h中GT; #包括L ..
发布时间:2016-08-17 22:01:51 C/C++

使用va_list的调用printf

无效TestPrint(字符*格式,...) { va_list的ARGLIST; 的va_start(ARGLIST,格式); 的printf(格式,ARGLIST); va_end用来(ARGLIST); } 诠释的main() { TestPrint(“测试打印%S%d个\\ N”,“串”,55); 返回0; } 我NEET获得:测试打印字符 ..
发布时间:2016-08-17 21:51:38 C/C++

printf的不打印在控制台上

我入门C语言。我使用的Eclipse(JUNO)作为我的IDE和安装CDT插件。我也将解压缩mingw64(GCC编译)。我写了一个非常简单的程序,看看它是否工作。这是我的code: 的#include<&stdio.h中GT;诠释的main() { INT年龄; 的printf(“您好,请输入您的年龄:\\ n”); scanf函数(“%d个”,&安培;年龄); ..
发布时间:2016-08-17 21:50:36 Java开发