C++의 문자열 처리 함수 와 지침 을 분석 합 니 다.
4177 단어 C++
문자열 연결 함수 strcat
함수
strcat(char[],const char[]);
strcat 는 string catenate(문자열 연결)의 줄 임 말 입 니 다.이 함 수 는 두 개의 문자 배열 의 매개 변수 가 있 습 니 다.함수 의 역할 은 두 번 째 문자 배열 의 문자열 을 앞 문자 배열 의 문자열 뒤에 연결 하 는 것 입 니 다.두 번 째 문자 배열 은 const 로 지정 되 어 이 배열 의 내용 이 함수 호출 기간 에 수정 되 지 않도록 합 니 다.연 결 된 문자열 은 첫 번 째 문자 배열 에 놓 여 있 습 니 다.함수 호출 후 얻 은 함수 값 은 첫 번 째 문자 배열 의 주소 입 니 다.예 를 들 면:
char str1[30]=″People′s Republic of ″;
char str2[]=″China″;
cout<<strcat(str1, str2)); // strcat
출력:
People′s Republic of China
연결 전후의 상황 은 그림 과 같다.문자열 복사 함수 strcpy
그 함수 원형 은:
strcpy(char[], const char[]);
strcpy 는 string copy(문자열 복사)의 줄 임 말 입 니 다.두 번 째 문자 배열 의 문자열 을 첫 번 째 문자 배열 에 복사 하여 첫 번 째 문자 배열 의 해당 문 자 를 덮어 쓰 는 역할 을 합 니 다.예 를 들 면:
char str1[10], str2[]=″China″;
strcpy(str1, str2);
실행 후 str 2 의 5 글자〃China〃와 진짜\0 진짜(총 6 글자)를 배열 str 1 에 복사 합 니 다.문자열 복사 함수 strcpy 에 대한 몇 가지 설명:
strcpy 함 수 를 호출 할 때 첫 번 째 매개 변 수 는 배열 이름(예 를 들 어 str 1)이 어야 합 니 다.두 번 째 매개 변 수 는 문자 배열 이름 일 수도 있 고 문자열 상수 일 수도 있 습 니 다.
strcpy 함수 로 문자열 의 앞 에 있 는 몇 개의 문 자 를 문자 배열 에 복사 할 수 있 습 니 다.
strcpy 함 수 를 호출 하여 문자열 을 문자 배열 에 부여 할 수 있 을 뿐,할당 문 구 를 사용 하여 문자열 상수 나 문자 배열 을 문자 배열 에 직접 부여 할 수 없습니다.
문자열 비교 함수 strcmp
함수
strcmp(const char[],const char[]);
strcmp 는 string compare(문자열 비교)의 줄 임 말이다.역할 은 두 문자열 을 비교 하 는 것 이다.이 두 문자 배열 은 비교 에 만 참가 하고 내용 을 바 꾸 지 말 아야 하기 때문에 두 매개 변 수 는 모두 const 성명 을 추가 합 니 다.아래 의 문법 은 합법적이다.
strcmp(str1, str2);
strcmp(″China″, ″Korea″);
strcmp(str1, ″Beijing″);
비교 결 과 는 함수 값 에서 가 져 옵 니 다:문자열 1=문자열 2 의 경우 함수 값 은 0 입 니 다.
문자열 1>문자열 2 가 있 으 면 함수 값 은 정수 입 니 다.
문자열 1<문자열 2,함수 값 은 마이너스 정수 입 니 다.
문자열 비교 규칙 은 다른 언어의 규칙 과 같 습 니 다.즉,두 문자열 을 왼쪽 에서 오른쪽으로 한 글자 씩 비교 하 는 것 입 니 다.모든 문자 가 같 으 면 같다 고 생각 합 니 다.다른 문자 가 나 오 면 첫 번 째 다른 문자 의 비교 결 과 를 기준 으로 합 니 다.
메모:두 문자열 을 비교 할 때 다음 과 같은 형식 을 사용 할 수 없습니다.
if(str1>str2) cout<<″yes″;
문자 배열 이름 str1 과 str2 는 배열 주 소 를 대표 합 니 다.위 에 쓰 는 방법 은 두 배열 의 주 소 를 비교 하 는 것 이지 배열 의 문자열 을 비교 하 는 것 이 아 닙 니 다.두 문자열 을 비교 해 야 합 니 다.
if(strcmp(str1, str2)>0) cout<<″yes″;
문자열 길이 함수 strlen함수 프로 토 타 입:
strlen(const char[]);
strlen 은 string length(문자열 길이)의 줄 임 말 입 니 다.문자열 길 이 를 측정 하 는 함수 입 니 다.그 함수 의 값 은 문자열 의 실제 길이 로 진짜\0 을 포함 하지 않 는 다.예:
char str[10]=″China″;
cout<<strlen(str);
출력 결 과 는 10 도 6 도 아니 고 5 입 니 다.이상 은 몇 가지 자주 사용 하 는 문자열 처리 함수 입 니 다.그 밖 에 다른 함수 도 있 습 니 다.
C++포인터 의 개념
포인터 가 무엇 인지 말 하기 위해 서 는 데이터 가 메모리 에 어떻게 저장 되 고 어떻게 읽 는 지 알 아야 한다.
프로그램 에서 변 수 를 정의 하면 컴 파일 할 때 이 변수 에 메모리 셀 을 할당 합 니 다.시스템 은 프로그램 에서 정 의 된 변수 유형 에 따라 일정한 길이 의 공간 을 분배 합 니 다.예 를 들 어 C+컴 파일 시스템 은 보통 정형 변수 에 4 개의 바이트 를 분배 하고 단일 정밀도 부동 소수점 형 변수 에 4 개의 바이트 를 분배 하 며 문자 형 변수 에 1 개의 바이트 를 분배 한다.메모리 구역 의 모든 바이트 에 번호 가 있 습 니 다.이 그림 은 바로'주소'입 니 다.
메모리 셀 의 주소 와 메모리 셀 의 내용 이라는 두 개념의 차 이 를 반드시 알 아야 합 니 다.프로그램 에 서 는 일반적으로 변수 이름 을 통 해 메모리 셀 을 액세스 합 니 다.사실 프로그램 은 컴 파일 을 거 친 후에 변수 이름 을 변수의 주소 로 바 꾸 었 고 변수 값 에 대한 접근 은 모두 주 소 를 통 해 이 루어 졌 다.변수 주소 에 따라 변수 값 을 액세스 하 는 방식 을 직접 액세스 방식 또는 직접 접근 방식 이 라 고 합 니 다.
간접 액세스(간접 접근)라 는 또 다른 방식 도 사용 할 수 있다.프로그램 에서 주 소 를 저장 하 는 특수 한 변 수 를 정의 할 수 있 습 니 다.
위의 그림 은 직접 방문 과 간접 방문 의 설명도 이다.수치 3 을 변수 에 보 내기 위해 서 는 두 가지 방법 이 있 습 니 다.
수 3 을 정형 변수 i 가 표시 하 는 단원 에 직접 보 냅 니 다.
3 을 포인터 변수 i 로 보 내기pointer 가 가리 키 는 단원(이것 이 변수 i 가 표시 하 는 단원)중 입 니 다.그림 을 보다
지향 이란 주 소 를 통 해 나타 나 는 것 이다.
주 소 를 통 해 필요 한 변수 단원 을 찾 을 수 있 기 때문에 주 소 는 이 변수 단원 을 가리킨다 고 할 수 있다.따라서 주 소 를'포인터'라 고 형상화 하고 변수의 주 소 를 이 변수의 포인터 라 고 부른다.
다른 변수 주소(즉 포인터)를 저장 하 는 변수 가 있다 면 포인터 변수 라 고 합 니 다.포인터 변수의 값(즉 포인터 변수 에 저 장 된 값)은 주소(즉 포인터)입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Visual Studio에서 파일 폴더 구분 (포함 경로 설정)Visual Studio에서 c, cpp, h, hpp 파일을 폴더로 나누고 싶었습니까? 어쩌면 대부분의 사람들이 있다고 생각합니다. 처음에 파일이 만들어지는 장소는 프로젝트 파일 등과 같은 장소에 있기 때문에 파일...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.