반응형

C언어/C언어 예제 235

[C언어 소스] 부분 문자열 복사 - 버퍼 오버플로우 방지

[C언어 소스] 부분 문자열 복사 - 버퍼 오버플로우 방지언제나 휴일 티스토리 //15. 부분 문자열 복사하는 함수 만들기 - 버퍼 오버플로우 방지 #include #include char *mystrncpy_s(char *dest, size_t dsize, const char *src, size_t n); int main(void) { char source[100] = "Hello World"; char dest[100] = "abcde Yahoo"; printf("원본 문자열:%s 의 5개 문자 복사\n", source); printf("복사 전 현재 결과 문자열:%s\n", dest); mystrncpy_s(dest, sizeof(dest), source, 5); printf("복사 후 결과 문자열..

[C언어 소스] 부분 문자열 복사하는 함수 만들기

[C언어 소스] 부분 문자열 복사하는 함수 만들기 //14. 부분 문자열 복사하는 함수 만들기#include char *mystrncpy(char *dest, const char *src, size_t n);int main(void){ char source[100] = "Hello World"; char dest[100] = "abcde Yahoo"; printf("원본 문자열:%s 의 5개 문자 복사\n", source); printf("복사 전 현재 결과 문자열:%s\n", dest); mystrncpy(dest, source, 5); printf("복사 후 결과 문자열: %s\n", dest); return 0;} char *mystrncpy(char *dest, const char *src, si..

[C언어 소스] 문자열 복사 - 버퍼 오버플로우 방지

[C언어 소스] 문자열 복사 - 버퍼 오버플로우 방지 //13. 문자열 복사 - 버퍼 오버플로우 방지#include char *mystrcpy_s(char *dest, size_t dsize, const char *src);int main(void){ char source[100] = "Hello World"; char dest[100]; printf("원본 문자열:%s\n", source); mystrcpy_s(dest, sizeof(dest), source); printf("복사 결과 문자열: %s\n", dest); return 0;} char *mystrcpy_s(char *dest, size_t dsize, const char *src){ char *origin; dsize--;//맨 마지막에 ..

[C언어 소스]문자열 복사하는 함수 만들기

[C언어 소스]문자열 복사하는 함수 만들기 //12. 문자열 복사하는 함수 만들기 #include char *mystrcpy(char *dest, const char *src); int main(void) { char source[100] = "Hello World"; char dest[100]; printf("원본 문자열:%s\n", source); mystrcpy(dest, source); printf("복사 결과 문자열: %s\n", dest); return 0; } char *mystrcpy(char *dest, const char *src) { char *origin; for (origin = dest; *dest = *src; dest++, src++);//복사한 문자가 참이면 반복 retur..

[C언어 소스]부분 문자열 비교하는 함수 만들기

부분 문자열 비교하는 함수 만들기 //부분 문자열 비교하는 함수 만들기#include int mystrlen(const char *str);//사전식 비교: 사전에 앞에 나오는 단어가 작고 뒤에 나오는 단어가 크다고 판별//차이가 없으면 0 반환int mystrncmp(const char *str1, const char *str2, size_t n);int main(void){ char src[100] = "This is test1. He is a student. She is a teacher."; char key[10] = "is"; int len; int i; len = mystrlen(key); printf("원본 문자열:%s\n\n", src); printf("is로 시작하는 부분 문자열 목록\n..

[C언어 소스] 문자열 비교하는 함수 만들기

[C언어 소스] 문자열 비교하는 함수 만들기 //문자열 비교하는 함수 만들기#include //사전식 비교: 사전에 앞에 나오는 단어가 작고 뒤에 나오는 단어가 크다고 판별//차이가 없으면 0 반환int mystrcmp(const char *str1, const char *str2);int main(void){ char names[5][20] = { "홍길동","강감찬","이순신","을지문덕","한석봉" }; char name[20]; int i = 0; int value; printf("검색할 이름 :"); scanf_s("%s", name, sizeof(name)); printf("사전식 비교: 사전에 앞에 나오는 단어가 작고 뒤에 나오는 단어가 크다고 판별\n"); for (i = 0; i0) { ..

[C언어 소스] 문자열 길이 계산 함수 만들기

[C언어 소스] 문자열 길이 계산 함수 만들기언제나 휴일 티스토리 //9. 문자열 길이 구하는 함수 만들기#include int mystrlen(const char *str);int main(void){ char name[100] = "Hello World"; printf("%s\n", name); printf("길이: %d\n", mystrlen(name)); return 0;} int mystrlen(const char *str){ int cnt; //str[cnt]가 거짓 문자(종료 문자, '\0')가 나올 때까지 cnt를 1증가 for (cnt = 0; str[cnt]; cnt++); return cnt; }

[C언어 소스] 1월 1일 요일 입력받아 달력 출력

1월 1일 요일 입력받아 달력 출력 //8. 1월 1일 요일 입력받아 달력 출력 #include int days[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };const char *wname[7] = { "일","월","화","수","목","금","토" };const char *bars[2] = //데코레이션 바 { "=====================================================\n", "-----------------------------------------------------\n"};int DrawMonth(int month, int start);//달 출력(달(0~11), 시작요일:0~6), 반환값은 다음 달 시작요일 int ..

[C언어 소스] 년도와 일수 입력받아 시각 출력

[C언어 소스] 년도와 일수 입력받아 시각 출력 //7. 년도와 일수 입력받아 시각 출력 #include void date(int year, int day);//년도와 일수를 입력하면 년월일 출력 int main(void){ int year, day; printf("년도와 일수 입력(예:2016 102): "); scanf_s("%d %d", &year, &day); date(year, day); //year와 day를 입력인자로 전달하여 일 수를 출력 return 0;} void date(int year, int day){ int mdays[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; int month; int mday = day;//mday를 day로 설정 if..

[C언어 소스] 속이 빈 삼각형 출력

[C언어 소스] 속이 빈 삼각형 출력 //6. 반복문 연습 - 속이 빈 삼각형 //입력//5 - n //출력// * 공백 4, 별1, 개행// * * 1- 공백 3, 별1, 공백1,별1, 개행 // * * 2- 공백 2, 별1, 공백3,별1, 개행// * * 3- 공백 1, 별1, 공백5,별1, 개행// ********* 공백0, 별9, 개행 //공백 = n-1, 별1, 개행//line: 1~(n-2)//공백 = n-line-1//별1//공백 = 2*line-1//별1//개행=1//별 = 2*n -1, 개행 #include int main(void){ int n; int line, space, star; printf("높이:"); scanf_s("%d", &n);//입력 for (space = 1; sp..

반응형