Скопировать в строку несколько символов другой строки начиная с некоторой позиции - C (СИ)
Формулировка задачи:
Здравствуйте, как в Си скопировать в строку несколько символов другой строки начиная с некоторой позиции?
Решение задачи: «Скопировать в строку несколько символов другой строки начиная с некоторой позиции»
textual
Листинг программы
int main(int argc,char** argv)
{
char pszLongStr[45] = "The quick brown fox jumps over the lazy dog";
char pszShortStr[4];
strncpy(pszShortStr,&pszLongStr[16],3);
pszShortStr[3] = 0; // Ensure ASCIIZ
printf("%s\n",pszShortStr);
return 0;
}
Объяснение кода листинга программы
- Объявлены две строки:
pszLongStrтипаcharразмером 45 символов, содержащая строкуThe quick brown fox jumps over the lazy dog;pszShortStrтипаcharразмером 4 символа.
- С помощью функции
strncpyиз стандартной библиотеки скопировано 3 символа изpszLongStrначиная с 17-го символа (индекс 16) вpszShortStr. - Добавлен 0-й символ в
pszShortStrдля обеспечения корректного завершения строки (т.е. строка сталаpszShortStr[4] =The quick brown fox jumps over the lazy dog[16:18] =over the lazy`). - С помощью функции
printfвыведена на экран строкаpszShortStr. - Программа возвращает 0, завершая свою работу.