strcpy_s(destination(복사본),sizebyte,source(원본));
strncpy_s(destination(복사본),sizebyte,source(원본),maxcount);
strncpy_s:복사를 진행하되 sizeof(str3)가 반환한값에 해당한 문자수만큼 반환
strncpy_s(str3, sizeof(str1), str1,sizeof(str3));
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "1234567890";
char str2[20];
char str3[5];
strcpy_s(str2,sizeof(str1), str1); //strcpy는 불안정해서 strcpy_s로 변환해서 쓰면됨!
puts(str2);
strncpy_s(str3, sizeof(str1), str1,sizeof(str3));
puts(str3);
return 0;
}
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "first~";
char str2[20] = "Second~";
char str3[20] = "simple num";
char str4[20] = "1234567890";
strcat_s(str1,sizeof(str2), str2);
puts(str1);
strncat_s(str3,sizeof(str4), str4, 7);
puts(str3);
}
strcmp(str1, str2)
두문자열의 내용이 같으면 0
str1이 더크면 양수 반환
str2가 더 크면 음수 반환
문자열의 크고 작음은 아스키코드 값으로 결정됨
#include <stdio.h>
#include <string.h>
int main() {
char str1[20];
char str2[20];
printf("문자열 1번입력");
scanf_s("%s", str1,20); //str1의 크기보다 더 많은 야의 바이트를 설정하면 오류 날수 있음!
printf("문자열 2번입력");
scanf_s("%s", str2,20);
if (!strcmp(str1, str2)) {
puts("두문자열은 완벽히 동일합니다");
}
else
{
puts("두문자열은 완벽히 동일하지않습니다");
if (!strncmp(str1, str2,3)) {
puts("그러나 앞세글자는 동일합니다");
}
}
//char str3[20] = "simple num";
//char str4[20] = "1234567890";
return 0;
}
<stdlib.h>에 선언된 함수들
int atoi(cont char *str) :문자열 내용을 int형으로 반환
long atol(cont char *str) :문자열 내용을 long형으로 반환
double atof(cont char *str) :문자열 내용을 double형으로 반환
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[20];
printf("정수입력");
scanf_s("%s", str, 10);
printf("%d\n", atoi(str));
printf("실수입력");
scanf_s("%s", str, 10);
printf("%g\n", atof(str));
return 0;
}
#include <stdio.h>
#include <math.h>
//구조체=구조화된 변수묶음 즉, 좌표와 학생정보와 같이 쌍으로 묶음으로 표현되면 좋은 자료를 묶음 변수로 만들어주는 자료형
struct point {
int xpos;
int ypos;
};
int main() {
struct point p1, p2;
double distance;
fputs("point1 pos", stdout);
scanf_s("%d %d", &p1.xpos, &p1.ypos);
fputs("point2 pos", stdout);
scanf_s("%d %d", &p2.xpos, &p2.ypos);
distance = sqrt((double)((p1.xpos - p2.xpos) * (p1.xpos - p2.xpos) + (p1.ypos - p2.ypos) * (p1.ypos - p2.ypos)));
printf("두점사이의 거리는 %g 입니다", distance);
return 0;
}