如何只打印字符串的某些部分?

时间:2011-10-20 20:36:51

标签: c string printf

我有一个字符串const char[15],我想打印它:

  

Label-one:字符[0,13]
  标签二:字符[13,15]

如何只打印字符串的某些部分?

2 个答案:

答案 0 :(得分:15)

printf("Label-one: %.*s", 13, str);
printf("Label-two: %.*s", 2, str + 13);

如果这些长度是常数,@ Bob的答案也是可以接受的,但是如果长度是在运行时确定的,这是最好的方法,因为它将它们参数化。

答案 1 :(得分:8)

printf( "%.13s", labelOne );   // stops after thirteen characters.
printf( "%.3s", &labelOne[ 13 ] );  // prints three characters of the string that starts at offset 13

根据您的观点,我注意到您的问题或答案中可能出现的fencepost错误/不一致。第二个例子的正确答案可能是:

printf( "%.3s", &labelOne[ 12 ] );