|
참고로 전 VC++ 6.0에서 해보았음을 미리 밝혀 둡니다.
첫째, #include 다음에 헤더화일이 없군요.
#include <stdio.h> 써주시면 에러가 3개 줄어 2개가 남을 겁니다.
둘째, 아래 함수에서 에러가 2개 나올겁니다. int i=0; 이 부분에서 나오죠? 가장 위로 올립니다.
int _strlen(char *src){
if(src == NULL)
return 0;
int i=0;
while(*(src+i) != NULL){
i++;
}
return i;
}
를 이렇게.
int _strlen(char *src){
int i=0;
if(src == NULL)
return 0;
while(*(src+i) != NULL){
i++;
}
return i;
}
warning 2개는 스스로 해결보세요~
헤더에 신경 쓰셨으면 간단히 해결될 문제였군요.
otherspell 님이 쓰신 글 :
: 문자열 처리함수를 프로그래밍하라.:_strien()/_strcpy()
: /함수정의문을 완성하는 것임, 표준함수를 이용하는 것이 아니다.
: /원형: int_strien(char*str)/int_strcpy/(char*dest.char*src)
: /_strlen(char*str)은 입력된 문자열에서 문자의 개수를 출력하는 함수
: /_strlen(char*dest. char *src)는 src 문자열을 des 문자열에 복사하는 함수. 이때 src문자열의 문자개수는
: dset문자열의 요소개수보다 반드시 작거나 같아야 한다.작거나 같은 경우, 즉 copy가 안료된 경우에는 숫자1
: 을 출력하고,큰 경우 ,즉 copy가 실패한 경우에는 0을 출력한다.
: /간단한 main()을 작성하여 함수를 테스트 한다.
:
:
:
: ////////////////////////////////////////////////////////////
:
:
:
: #include
:
: int _strlen(char *src);
: int _strcpy(char *dest, char *src);
:
: int main(void){
: char a[10]="ABC";
: char b[10]="DEFG";
: char c[10]="HIJKG";
:
: printf("a문자열 길이: %d, b문자열 길이: %d \n", _strlen(a), _strlen(b));
: printf("b를 a로 복사: %d, b를 C로복사: %d \n", _strcpy(a,b), _strcpy(c,b));
:
: return 0;
: }
: int _strlen(char *src){
: if(src == NULL)
: return 0;
: int i=0;
: while(*(src+i) != NULL){
: i++;
: }
: return i;
:
: }
: int _strcpy(char *dest, char *src){
: int a = _strlen(src);
: int b = _strlen(dest);
: int i=0;
:
: if(a < b)
: return 0;
:
: while(*(src+i) != NULL){
: *(dest+i) = *(src+i);
: i++;
: }
: return 1;
: }
:
:
:
: ////////////////////////
: 컴파일 하면 에러가 5개나 떠요..
: 어디가 잘못됐는지 모르겠어요.......주석좀 부탁드릴껭....
|