cstring replace 예제

sprintf 예제는 유니코드 준비가 되어 있지 않지만(인쇄를 사용하고 서식 문자열 주위에 _T(_T)를 넣을 수 있지만 기본 개념은 여전히 필요한 것보다 훨씬 많은 작업을 수행하고 있으며 오류가 발생하기 쉽습니다. 생성자는 입력 데이터를 새 할당된 저장소에 복사하므로 메모리 예외가 발생할 수 있음을 알고 있어야 합니다. 이러한 생성자 중 일부는 변환 함수역할을 합니다. 이를 통해 CStringT 개체가 예상되는 LPTSTR을 대체할 수 있습니다. objective C에서 문자를 대체하려면 문자열의 발생을 대체하려는 다른 문자열로 대체하는 Objective C 문자열 라이브러리의 붙들된 함수를 사용해야 합니다. 그래서 당신은 char *, 또는 문자열이 있습니다. CString을 만드는 방법은 다음은 몇 가지 예입니다: 문자 또는 하위 문자열의 대체된 인스턴스 수를 반환하거나 문자열이 변경되지 않은 경우 0을 반환합니다. 이전에 문서화되지 않은 CString 메서드(예: 할당 복사)를 사용한 코드는 다음과 같은 문서화된 CStringT 메서드(예: GetBuffer 또는 ReleaseBuffer)를 사용하는 코드로 대체해야 합니다. 이러한 메서드는 CSimpleStringT에서 상속됩니다. 다른 언어로 쉽게 이식할 수 있는 프로그램을 만들려면 소스 코드에 모국어 문자열을 포함해서는 안 됩니다. (이 예의 경우, 나는 영어를 사용합니다, 그 내 모국어이기 때문에 (aber Ich kann ein bischen Deutsch sprechen). 그래서 그것은 매우 나쁜 관행 결국, 당신은 생각할 수 있습니다, 먼저 SomeCString1을 보유 하는 버퍼를 할당, 다음 그것에 SomeCString1을 복사, 다음 연결 하 고 감지, 현재 문자열 플러스 SomeCString2를 보유 할 수 있을 만큼 큰 새 버퍼를 할당, 내용을 버퍼에 복사하고 SomeCString2를 연결한 다음 첫 번째 버퍼를 버리고 포인터를 새 버퍼에 대한 포인터로 바꾼 다음 각 문자열에 대해 이 작업을 반복하여 모든 복사본에 대해 끔찍하게 비효율적입니다. 이 메서드는 현재 인스턴스의 값을 수정 하지 않습니다.

대신 oldChar의 모든 발생이 newChar로 대체되는 새 문자열을 반환합니다. 제대로 작동합니다. 이는 C에서 캐스팅이 수행되는 방법에 대한 규칙 때문입니다. 캐스트가 필요한 경우 C++ 규칙을 사용하면 캐스트를 선택할 수 있습니다. 예를 들어 복잡한 숫자(부동 소수자 쌍)에 캐스팅(float)을 정의하고 클래스 이름이 CStr이라고 말할 수 있도록 복합 수의 첫 번째 부동 소수점(“실제 부분”이라고 함)만 반환하도록 정의할 수 있습니다. 예제로 직접 시작하겠습니다, 클래스 인터페이스는 자명하다고 생각합니다 : 이제이 문자열에서 문자를 교체하고 새 문자열을 만들거나 동일한 문자열을 수정할 수 있습니다. 이 예제에서는 이 문자열을 수정하고 다음 줄에 인쇄합니다. 두 개 이상의 대체가 있는 경우 대체의 단어 순서가 중요하지 않은 경우(예: 제목-개체, 제목 동사 또는 동사-object)가 영어로 되어 있는지 확인해야 합니다.

STRINGTABLE 항목의 사용을 단순화하는 CString 생성자의 영리한 기능이 있습니다.

カテゴリー: 未分類   パーマリンク

コメントは受け付けていません。