반응형

C언어 323

[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..

[C언어 소스] 산봉우리 출력

[C언어 소스] 산봉우리 출력언제나 휴일 티스토리 //5. 반복문 연습 - 산봉우리 출력 //입력//5 - n //출력// * 1 공백(9+9),별1, 개행// *** 2 공백(9+8), 별3, 개행// ***** 3 공백(9+7),별5, 개행// ******* 4 공백(9+6), 별7, 개행// ********* 5 공백(9+5), 별9, 개행// * *********** * 6 공백4, 별1, 공백4, 공백4, 별11, 공백4, 공백4, 별1, 개행// *** ************* *** 7 공백3, 별3, 공백3, 공백3, 별13, 공백3, 공백3, 별3, 개행// ***** *************** ***** 8 공백2, 별5, 공백2, 공백2, 별15, 공백2, 공백2, 별5, 개행// ..

[C언어 소스] 다이아몬드 출력

[C언어 소스] 다이아몬드 출력 //4. 반복문 연습 - 다이아몬드 출력 // 입력// 5 - n //출력// * 0- 공백 4, 별1, 개행// *** 1- 공백 3, 별3, 개행 // ***** 2- 공백2, 별5, 개행// ******* 3- 공백1, 별7, 개행 // ********* 4- 공백0, 별9, 개행// ******* 3- 공백1, 별7, 개행// ***** 2- 공백2, 별5, 개행// *** 1- 공백 3, 별3, 개행// * 0- 공백 4, 별1, 개행 //line:0~n-1//공백 = n-line-1//별 = 2*line +1//개행=1//line:n-2 ~ 0//공백 = n-line-1//별 = 2*line +1//개행=1 #include int main(void){ int n..

반응형