format-specifiers相关内容

是否有格式说明符始终表示带有 _tprintf 的字符字符串?

当您使用 TCHAR 支持在 Windows 上构建应用程序时,_tprintf() 中的 %s 表示 char *> 字符串用于 Ansi 构建,wchar_t * 用于 Unicode 构建,而 %S 表示相反. 但是是否有任何格式说明符总是表示 char * 字符串,无论它是 Ansi 还是 Unicode 版本?由于即使在 Windows 上,UTF-16 也没有真正用于文件或网络, ..
发布时间:2021-06-21 19:00:41 其他开发

scanf %u 负数?

我已经尝试过 scanf("%u",&number) 并且我输入了负数问题是当我 printf("%d",number) 我得到负数.我认为这会阻止我阅读负数.scanf("%d",&number) 和 scanf("%u",&number) 真的是一回事吗?还是只是为了便于阅读. 我是否在做一些称为未定义行为的事情? 编辑: 从 维基百科我读到: %u : 扫描十进制无符 ..
发布时间:2021-06-21 18:59:38 其他开发

为什么 uint8_t 和 uint16_t 的格式说明符相同 (%u)?

由于搜索 printf() 的大量结果,我只发现了非常不相关的问题. 为什么 uint8_t 不指定自己的格式字符串,而其他任何类型都指定? 据我了解printf(),它必须知道提供的参数的长度才能解析变量参数列表. 由于 uint8_t 和 uint16_t 使用相同的格式说明符 %u,printf() 怎么知道"要处理多少字节?或者在提供 uint8_t 时是否涉及到 uin ..
发布时间:2021-06-21 18:58:58 其他开发

格式说明符 %02x

我有一个简单的程序: #include int main(){长 i = 16843009;printf ("%02x \n" ,i);} 我正在使用 %02x 格式说明符来获得 2 个字符输出,但是,我得到的输出是: 1010101 虽然我期待它是:01010101 . 解决方案 %02x 表示至少打印 2 位数字,如果少则在前面加上 0 .在您的情况下,它是 7 位数字,因此前 ..
发布时间:2021-06-21 18:58:29 其他开发

没有参数的`printf("%p")`是什么意思

我当然知道它曾经输出带参数的指针. 我阅读了 Michael Howard 和 David LeBlanc 合着的Writing Secure Code一书. 书中的一个程序通过strcpy() 演示了堆栈溢出的工作原理 注意 printf() 不带参数. #include #include void foo(const char* 输入){字符缓冲区[10];//什么?没有提供 ..
发布时间:2021-06-21 18:56:59 其他开发

c中printf语句中的%.#s格式说明符

请解释输出.printf()中的%.#s是什么意思? #include#include int main(int argc,char*argv[]){字符 *A="你好";printf("%.#s %.2s\n",A,A);返回0;} 输出: #s HE 解决方案 这是未定义的行为.# 在printf 格式说明符中表示替代形式,但根据标准,# 仅与o 一起使用、a、A、x、X、e、E、f ..
发布时间:2021-06-21 18:56:54 其他开发

如何用 printf 打印 1 个字节?

我知道当使用 %x 和 printf() 时,我们从堆栈中打印 4 个字节(一个 int 十六进制).但我只想打印 1 个字节.有没有办法做到这一点? 解决方案 假设:你想打印一个1字节宽度的变量的值,即char. 如果您有一个 char 变量,例如 char x = 0; 并且想要打印该值,请使用 %hhx 格式说明符使用 printf(). 类似的东西 printf(" ..
发布时间:2021-06-21 18:56:30 其他开发

printf 不产生输入值

我有以下代码块.最后一行用于生成用户输入的 X、Y 和 P 值.但是它只返回 (0,0,0) 而不是用户给定的值.我错过了什么? printf("机器人的初始X位置是多少?(cm)\n");scanf("%f",&X);printf("机器人的初始Y位置是多少?(cm)\n");scanf("%f",&Y);printf("机器人的初始角位置是多少?(度)\n");scanf("%f ..
发布时间:2021-06-21 18:55:29 其他开发

为什么在 printf 中传递的 int 和 float 会在格式字符串中出现错误的位置?

printf 函数 int 到 %f ,浮到 %d 尝试实验 #includeint main(){国际我= 10;浮动 x=43.2892f;printf("i=%f x=%d \n",i,x);返回0;} 输出: i=43.289200 x=10 需要帮助理解为什么这些变量会互换? 解决方案 你正在做的事情会引起未定义的行为1,但是看着 结果程序集 在带有 System V A ..
发布时间:2021-06-21 18:55:03 其他开发

如何从指数符号中删除零

我在 C# 中使用指数格式来格式化十进制数.例如如果数字是 0.0001234567 用 格式化 (0.0000123456).ToString("E4"); 演出 1.2345E-004 如何从指数中删除前导零,使其显示如下? 1.2345E-4 解决方案 假设你需要总是显示小数点后 4 位数字,试试 "0.0000E+0" 所以它会显示 (0.0000123456). ..
发布时间:2021-06-10 19:08:45 C#/.NET

无法检索正则表达式匹配结果 - MFC/C++

我正在阅读一个 HTML 页面并尝试检索其中的特定字符串. 我有以下代码: std::string str = test.GetString();//someString (我检查过的字符串,它基本上是一个 html 页面)std::smatch 匹配;std::regex re("0x(\\d|[A-Z]).*0000");//我要搜索的模式if (std::regex_search( ..
发布时间:2021-06-02 21:32:33 C/C++开发

用scanf()读取的字符串大小不超过

编辑:对于我的班级,我必须使用 scanf .因此,推荐其他输入方式不是我正在寻找的解决方案(如果有涉及scanf的解决方案). 如果我正在阅读用户输入的小项目(例如游戏).可以说我问您想玩吗?这将接受 yes 或 no 答案.所以我写了一些像这样的简单代码: #includeint main(无效){字符字符串[3];//"yes"的最大字母数.printf(“你想 ..
发布时间:2021-04-17 18:34:08 其他开发

%m格式说明符是什么意思?

此代码的输出打印为“成功". printf("%m\n"); 解决方案 m转换说明符不是C,而是对printf的GNU扩展: 来自GNU文档: http://www.gnu.org/软件/libc/manual/html_node/Other-Output-Conversions.html “%m"转换会打印与errno中的错误代码相对应的字符串.请参阅错误消息.因此 ..
发布时间:2020-11-15 23:56:55 其他开发