2014-02-08 3 views
2

Я имею в виду это использование:есть функция в семействе printf, которая возвращает часть строки?

sprintf_with_start_pos(out_variable, 3, "format_str %s %i etc...", var1, var2); 

и такая функция должна удержанного возвращения выход, пока он не достигнет позиции 3. Я знаю, что могу создать этот эффект делает свой собственный буфер, а затем скопировать из этого, но мне интересно, если есть ли в одном лайнере для этого?

+0

Позиция 3 в каком смысле? Вы хотите напечатать первые 3 символа? Это делается с использованием '% .3s'. –

+0

Что вы подразумеваете под удержанием вывода? – mockinterface

+0

нет Я хочу печатать с третьего символа вперед – rsk82

ответ

2

test.c:

#include <stdio.h> 

main() { 
    char* var1 = "1234567"; 
    char buffer[50]; 
    sprintf(buffer, "%s", &var1[2]); 

    printf("%s\n", buffer); 
    printf("%.3s\n", buffer); 
} 

Выход:

$ gcc test.c 
$ ./a.out 
34567 
345 
Смежные вопросы