12345678910111213141516171819int my_strlen(const char * pStr){ int i = 0; if(pStr == NULL) return -1; for( ; *pStr != '\0'; pStr++, i++); return i;} void main(){ char Text1[20]={0}; printf("문장 길이 구하기\n"); printf("문장 입력 : "); scanf("%s", Text1); printf("문장의 길이 : %d\n", my_strlen(Text1));}Colored by Color Scriptercs
123456789101112131415161718192021222324252627char *my_strcat(char *pDest, const char *pSrc){ char *pTemp = pDest; if(pDest == NULL || pSrc == NULL) return NULL; for( ; *pTemp != '\0'; pTemp++); while(*pSrc != '\0'){ *pTemp++ = *pSrc++; } *pTemp = '\0'; return pDest;} void main(){ char Text1[20]={0}; char Text2[20] ={0}; printf("문장 덧붙이기\n"); printf("1번째 입력 : "); scanf("%s", Text1); printf("2번째 입력..
1234567891011121314151617181920212223242526char* my_strcpy(char * pDest,const char * pSrc){ char *pTemp = pDest; if(pDest == NULL || pSrc == NULL) return NULL; while(*pSrc != '\0'){ *pTemp++ = *pSrc++; } *pTemp = '\0'; return pDest;} void main(){ int iNum; char Text1[20]={0}; char Text2[20] ={0}; printf("문장 복사\n"); printf("입력 : "); scanf("%s", Text1); my_strcpy(Text2, Text1); printf("복사된 문장 : %s..
1234567891011121314151617181920212223242526272829303132#include int my_strcmp(const char *pStr1, const char *pStr2){ if(pStr1 == NULL || pStr2 ==NULL) return -1;//받은문장이 둘 중 하나라도 NULL 값이면 -1 반환 for( ; (*pStr1) != '\0' || (*pStr2) != '\0'; pStr1++,pStr2++)// 초기값 주어질 것이 없으므로 for문 초기값은 공백으로 둔다// pStr1,pStr2의 값중 하나라도 공백을 만날 때 까지 반복// 콤마연산자로 두 포인터를 이동시킨다 { if((*pStr1) > (*pStr2)) return 1; if((*pStr1)..
Overload 부모 클래스와 자식클래스가 서로 상속관계에 있고, 그 두 개의 클래스에서 동일한 메소드가 존재하며 인자의 수와 데이터 타입이 다를 경우Ex) sum(int x, int y) 였을때, float sum을 실행시키고 싶으면 sum(float x, float y) 식으로 오버로드하여 사용한다.생성자에서도 사용 가능하다. 인자의 자료형이나 갯수의 변화가 일어날때 같은 이름으로 재정의 하는 것. Override 상속 관계에서 메소드의 이름이 서로 같고, 인자가 같고, 반환형이 같을 경우에 상속받은 메소드를 덮어 쓴다. 기존메소드는 무시하고 자식클래스의 메소드를 사용하는 것.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
객체 operator+ (객체를 받는 객체) 함수//결국엔 함수 호출이다.//함수명은 정해져있다 operator기호 예제) class sample{int x;int y;public :sample(){ x=0 , y=0;}sample (int n1, int n2) { x = n1, y = n2;}~sample() {}void GetData(int &i, int &j) { i =x; j=y;}sample operator+ (sample obj); }; sample sample::operator +(sample obj)//a+b == a.operator+ (b) 앞에있는 함수의 오퍼레이터{sample temp;temp.x = x+obj.x;temp.y = y+obj.y;return temp;} void mai..
파괴자 함수와 생성자 함수는 꼭 필요하다. 없을때는 자동생성 다만 정의부에 내용 없음파괴자 함수는 중복 시키지 않는다.생성자의 이름은 같아도 된다, 매개변수 개수와 매개변수의 자료형으로 판단하여 실행함 #include using namespace std; class sample{private: int x; public :sample();//default 생성자 함수sample(int n1);~sample();//파괴자 함수void SetX(int n);int GetX();}; sample :: sample(int n1){x = n1;} sample::sample(){ //보통은 초기화 함수를 넣으나 초기화가 아니어도 됨x=0;} sample::~sample(){ //파괴자 함수 cout
c언어의 구조체의 확장의미 private과 public부로 나뉘어져 있으며 private부분은 public에 지시되어있는 함수에 의해서만 접근이 가능하다. (캡슐화) class라는 예약어를 사용해 선언한다 ex)#include using namespace std; class sample{private:int x;public ://함수나 메쏘드 제공void SetX(int n);int GetX();}; //캡슐화 void sample::SetX(int n){x=n;} int sample::GetX(){return x;} void main(){sample obj;// 사용자정의 객체(변수 )obj.SetX(10);cout
- Total
- Today
- Yesterday
- poi
- PageNotFound - No mapping for GET
- 정규식 한글만
- Spring
- 정규식
- IntelliJ #gradle #tomcat #spring #springmvc
- JSON
- Regex
- 공백찾기
- select제어
- 정규식 특수문자
- no getter for property named
- 이메일 정규식
- JSON날짜
- POI EXCEL
- 엑셀다운로드
- ''찾기
- 인텔리제이
- selectbox
- js
- 정규식 숫자만
- jQuery
- 계좌번호정규식
- mybatis
- poi 엑셀
- spring 엑셀
- Failed to load resource: the server responded with a status of 404 (Not Found)
- spring error #
- JSON파싱
- SpringXmlModelInspection
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |