用snprintf函数很好的解决
#include<stdio.h>
#include<string.h>
int main(int argc, char const *argv[])
{
int splis = 0;
char in_str[100+1];
char tmp_str[100+1];
while (scanf("%s", in_str) != EOF)
{
splis = 0;
scanf("%d", &splis);
memset(tmp_str, 0x00, sizeof(tmp_str));
snprintf(tmp_str, splis+1, "%s", in_str);
printf("%s\n", tmp_str);
}
return 0;
}