使用printf来printf打印一部分字符串

时间:2015-03-26 16:26:44

标签: c string io printf

例如,我有一个字符串,我想编写一个函数,将其中的一部分打印到屏幕上,打印的长度未初始化,但后面按函数或输入数据定义

char str[70]="my name is Jack";
printf("%.4s", str[11])

结果将是"杰克"

但是现在现在指定要写入stdout的长度

char str[70]="my name is Jack";
int x;
scanf("%d",&x);

现在我的长度将在稍后定义,以便如何将它与printf一起使用 我现在只使用这种方法

char str[70]="my name is Jack";
int x, i;
scanf("%d",&x);
for(i=0, i<x, i++){
    printf("%c", str[11+i]);

这将有效,但我想知道有没有任何方法printf而不使用循环。我试过了

printf("%.xc", str[11+i]);

但结果不正确,所以不是这样。

1 个答案:

答案 0 :(得分:3)

在printf转换说明符

中使用*
char data[] = "The name is Jack Monroe";
int length = 4;
int start = 12;
printf("%.*s", length, data + start); // Jack