Работа со строками - C (СИ) (72170)
Формулировка задачи:
Помогите с программой. Не могу запустить элементарную вещь. Есть команда char *strcpy(char*dest, char*s, int p, int k), которая помещает в dest из S символов k, начиная с p-го. Должен быть вывод S и dest. В данном случае ответ должен быть как "12". Использование элементов языка C++ запрещено.
#include "stdafx.h"
#include <iostream>
#include <string.h>
void test1() {
char *dest;
char *s = "0123";
int p = 1;
int k = 2;
char *strcpy(char*dest, char*s, int p, int k);
printf("%s *s=%s\n",*s);
printf("%s *dest =%s\n", *dest);
system("pause");
return;
}
int main() {
test1();
}Решение задачи: «Работа со строками»
textual
Листинг программы
#include <stdio.h>
char *mystrcpy(char* dest, const char* src, int p, int k) {
char* ptr = dest;
for (; 0 < k--; ++ptr, ++src) {
*ptr = *(src + p - 1);
}
*ptr = 0;
return dest;
}
int main() {
char result[8];
printf("%s\n", mystrcpy(result, "123456789", 3, 4));
return 0;
}