IT

시작 및 종료 인덱스가 주어지면 C에서 문자열의 일부를 복사하려면 어떻게 해야 합니까?

itgroup 2023. 8. 21. 21:06
반응형

시작 및 종료 인덱스가 주어지면 C에서 문자열의 일부를 복사하려면 어떻게 해야 합니까?

C에서 시작 인덱스와 끝 인덱스가 있는 문자열을 복사하여 문자열이 부분적으로만 복사되도록 하려면 어떻게 해야 합니까(시작 인덱스에서 끝 인덱스로)?

이것은 'C 문자열 복사'와 같습니다.strcpy시작 인덱스와 끝 인덱스를 사용합니다.

strncpy 사용

예.

strncpy(dest, src + beginIndex, endIndex - beginIndex);

이는 당신이

  1. 검증 완료dest충분히 큽니다.
  2. endIndex보다 큼beginIndex
  3. beginIndex보다 작음strlen(src)
  4. endIndex보다 작음strlen(src)

strncpy는 확인해 보셨습니까?

char * strncpy ( char * destination, const char * source, size_t num );

시작과 끝은 실제로 한 장소에서 다른 장소로 복사할 바이트 를 정의한다는 을 알아야 합니다.

그냥 memcpy를 사용하세요.

대상이 충분히 크지 않으면 strncpy가 null로 종료되지 않습니다.대상이 소스에 비해 클 경우 strncpy는 문자열 뒤에 null로 대상을 채웁니다. strncpy는 무의미하며 문자열 복사에 적합하지 않습니다.

strncpy는 소스에서 null을 발견하면 대상을 null로 채운다는 점을 제외하면 memcpy와 같습니다.그것은 현 작업에 전혀 쓸모가 없습니다.0개의 패딩 레코드로 고정되어 있습니다.

언급URL : https://stackoverflow.com/questions/6205195/given-a-starting-and-ending-indices-how-can-i-copy-part-of-a-string-in-c

반응형