7.10.2017

#include <stdio.h>
#include <string.h>
int size = 8;
//메모리의 특정 소스를 몰적 위치로 복사하며, 기존에 있던 데이터는 size 만큼 이동
// dst: 요소가 복사될 위치 필요
// src: 복사할 요소가 있는 위치
// size : 이동할 사이즈
void insert_arr(int index, char c, char *str) {
memmove(str+index+1, str+index, strlen(str) - index + 1);
str[index] = c;
}
void del_arr(int index, char *str) {
memmove(str + index, str + index + 1, strlen(str) - index);
}
void add(char c, char *str) {
insert_arr(strlen(str), c, str);
}
void main() {
int num, input;
char c;
char str[100] = "abcde";
do {
printf("현재 문자열 : %s\n", str);
printf("1. 삽입 2. 삭제 3. 맨 뒤에 추가 0. 종료 \n");
scanf("\n%c", &c);
switch (num) {
case1:
printf("삽입할 위치를 입력하세요.\n");
scanf("%d", &input);
printf("삽입할 문자를 입력하세요.\n");
scanf("%c", &c);
insert_arr(input, c, str);
break;
case2:
printf("삭제할 위치를 입력하세요.\n");
scanf("%d", &input);
del_arr(input, str);
break;
case3:
printf("문자를 입력하세요.\n");
scanf("%c", &c);
add(c, str);
break;
default:
if (num == 0)
printf("프로그램을 종료합니다.");
else {
printf("0~3을 선택하세요.\n");
break;
}
}
} while (num);
}

댓글 없음:

댓글 쓰기