Как объединить string и int в C?
мне нужно сформировать строку, внутри каждой итерации цикла, который содержит индекс цикла i
:
for(i=0;i<100;i++) {
// Shown in java-like code which I need working in c!
String prefix = "pre_";
String suffix = "_suff";
// This is the string I need formed:
// e.g. "pre_3_suff"
String result = prefix + i + suffix;
}
Я пробовал использовать различные комбинации strcat
и itoa
не повезло.
3 ответа:
строки-это тяжелая работа в C.
int main() { int i; char buf[12]; for (i = 0; i < 100; i++) { sprintf(buf, "pre_%d_suff", i); // puts string into buffer printf("%s\n", buf); // outputs so you can see it } }
The
12
достаточно байт для хранения текста"pre_"
текст"_suff"
строка из двух символов ("99"
) и нулевой Терминатор, который идет в конце строковых буферов C.этой расскажу вам, как использовать
sprintf
, но я предлагаю хорошую книгу C!