标签: format-specifiers

scanf中的格式说明符,用于C中的bool数据类型

我在C std99中使用bool数据类型,其定义在中定义<stdbool.h>.现在我希望用户给我输入.我必须在scanf中使用什么格式说明符来从用户输入1字节的布尔值,然后在我的程序中操作它.

c scanf format-specifiers

16
推荐指数
1
解决办法
3万
查看次数

通过`printf`中的格式说明符传递空字节

printf当我使用ASCII表中的NULL字符时,为什么要打印空格而不是停止?这就是我的意思:

printf("Hello%c, world", 0); //Hello , world
printf("Hello%c, world", '\0'); //Hello , world
Run Code Online (Sandbox Code Playgroud)

只有当我将转义字符放在字符串本身时printf才会停止字符串:

printf("Hello\0, world"); //Hello
Run Code Online (Sandbox Code Playgroud)

我在Windows 8,Windows 10(使用cygwin,MinGW,Netbeans,Code :: Blocks),XUbuntu上试过这个,它都是一样的.

问题出在哪儿?我问过我的一个朋友,但他说他没有这样的问题,所有三个例子都以同样的方式执行.

c printf format-specifiers nul

16
推荐指数
2
解决办法
2777
查看次数

C#数组的Visual Studio格式说明符?

在C++中,我可以做到这一点,但我不知道如何在C#中做到这一点.基本上我想在我的Visual Studio 2008调试器的监视窗口中使用格式说明符来仅查看切片或数组的一部分.例如,如果我有这样的2D数组:

int[,] myArray = new int[5,15]
Run Code Online (Sandbox Code Playgroud)

我可能只想查看列表中的最后15个项目,所以我希望能够将它放入我的观察窗口(或类似的东西):

myArray[5],15
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中有这样的东西吗?

c# debugging visual-studio-2008 format-specifiers

14
推荐指数
1
解决办法
1384
查看次数

Python - 用科学计数法修正指数?

请考虑以下Python代码段:

for ix in [0.02, 0.2, 2, 20, 200, 2000]:
  iss=str(ix) + "e9"
  isf=float(iss)
  print(iss + "\t=> " + ("%04.03e" % isf ) + " (" + str(isf) + ")")
Run Code Online (Sandbox Code Playgroud)

它生成以下输出:

0.02e9  => 2.000e+07 (20000000.0)
0.2e9   => 2.000e+08 (200000000.0)
2e9     => 2.000e+09 (2000000000.0)
20e9    => 2.000e+10 (20000000000.0)
200e9   => 2.000e+11 (2e+11)
2000e9  => 2.000e+12 (2e+12)
Run Code Online (Sandbox Code Playgroud)

 

我的问题是 - 是否有可能以某种方式"回去"?那是:

2.000e+07 => 0.02e9 
2.000e+08 => 0.2e9
2.000e+09 => 2e9    
2.000e+10 => 20e9   
2.000e+11 => 200e9  
2.000e+12 => 2000e9 
Run Code Online (Sandbox Code Playgroud)

......我指定我希望指数为" e+09"; …

python scientific-notation format-specifiers

14
推荐指数
1
解决办法
3万
查看次数

%p c中的格式说明符

说明符如何%p%Fp在以下代码中工作?

void main() 
{
    int i=85;

    printf("%p %Fp",i,i);

    getch();   
}
Run Code Online (Sandbox Code Playgroud)

我得到的是o/p 0000000000000055 0000000000000055

c format-specifiers

13
推荐指数
1
解决办法
8万
查看次数

在不同平台上使用void指针

我听说指针首先应该转换为void以确保不同平台上的值的一致性,并且应该使用%p格式说明符.它为什么以及究竟是什么问题?

int x=100;
int *pi=&x;
printf("value of pi is: %p",(void*)pi);
Run Code Online (Sandbox Code Playgroud)

c pointers void-pointers format-specifiers

13
推荐指数
3
解决办法
976
查看次数

如何printf()uint16_t?

我需要使用printf()来打印uint16_t.这个SO答案(如何打印uint32_t和uint16_t变量值?)说我需要使用inttypes.h.

但是,我正在使用嵌入式系统,并且inttypes.h不可用.当uint16_t的格式说明符不可用时,如何打印uint16_t?

c format-specifiers uint16

13
推荐指数
3
解决办法
3万
查看次数

为什么格式字符串不允许列表?

为什么要使用格式字符串强制使用元组(或字典):

"%s %d" % ("text", 42)
Run Code Online (Sandbox Code Playgroud)

以下会有什么不利之处?

"%s %d" % ["text", 42]
Run Code Online (Sandbox Code Playgroud)

python string format-specifiers

13
推荐指数
1
解决办法
172
查看次数

如何扫描一个浮点然后紧跟c中的字母'e'?

我正在尝试使用fscanf读取数据,'e'例如,输入的一部分是一个浮点数后跟字母41.72elapsed.在编写strng时fscanf,我尝试使用"%felapsed",但这不起作用,就像%fe它自己的格式说明符一样.我怎么用这个来读fscanf

编辑:这是代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define CHAR_MAX 1024

int main(int argc, char **argv)
{
    FILE *file_in = fopen(argv[1], "r+");
    char out_name[CHAR_MAX];
    strcpy(out_name, argv[1]);
    strcat(out_name, ".csv");
    FILE *csv_out = fopen(out_name, "w");
    int minutes;
    float seconds;
    fprintf(csv_out, "Trial #, Execution Time\n");

    for (int i = 0; fscanf(file_in, "%*fuser %*fsystem %d:%felapsed %*d%%CPU (%*davgtest+%*davgdata %*dmaxresident)k\n%*dinputs+%*doutputs (%*dmajor+%*dminor)pagefaults %*dswaps\n", &minutes, &seconds) == 2; i++) {
         fprintf(csv_out, "%d, %d:%.2f\n", i, …
Run Code Online (Sandbox Code Playgroud)

c gcc scanf format-specifiers

13
推荐指数
2
解决办法
701
查看次数

如何在格式字符串中使用define?

说我有一个字符数组:

#define LEN 10
char arr[LEN + 1];
Run Code Online (Sandbox Code Playgroud)

让我们做一些scanf操作:

scanf("Name: %s", arr);
Run Code Online (Sandbox Code Playgroud)

如果有人输入的名称超过10个字符,这可能会很危险.所以最好用这个:

scanf("Name: %10s", arr);
Run Code Online (Sandbox Code Playgroud)

那么现在如果LEN改变我会遇到麻烦.我将不得不通过整个代码来纠正我10在上下文中使用的每一行arr.所以我想到了这样的事:

scanf("Name: %LENs", arr);
Run Code Online (Sandbox Code Playgroud)

但这不起作用.LEN由于在字符串中使用,因此预处理器无法解析.

如何在格式字符串中使用define?

c format-specifiers c-preprocessor

12
推荐指数
1
解决办法
3001
查看次数