메뉴 건너뛰기

리소스를 자유롭게 사용할 수 있도록 공유하는 곳

선언문은

bool strtakenumber(char * buffer, int size);
bool strtakenumber(char * buffer);

이고
정의문은

bool strtakenumber(char * buffer, int size)
{
 // 숫자 이외의 부분 골라서 지우는 알고리즘
 // 만든 이 : A.미스릴
 // http://hondoom.com/
 // http://blog.naver.com/hanpcship/
 int i, j;
 size += 1; // 기본적으로 널 문자는 무시되기 때문에 실제로 1 더 더해준다
 // 일단 안바뀐 상태
 bool bool_changed = false;
 for ( i=0; (i<size && buffer[i] != '\0') ; i+=1 )
 {
  if ( buffer[i] < '0' || buffer[i] > '9' )
  {
   // 숫자가 아닌 코드 발견(48~57은 각각 숫자 0~9를 의미함)
   // 어머 지워야겠네?
   // 루프 조건은 일정한 사이즈를 넘기지않고 \0(널문자)이 발견안되면
   for ( j=i+1; (j<size && buffer[j] != NULL) ; j+=1 )
   {
    // 앞쪽으로 1칸씩 수들을 모조리 끌어당김
    buffer[j-1] = buffer[j];
   }
   buffer[j-1] = '\0';
   bool_changed = true;
   i -= 1;
  }
 }
 return bool_changed;
}

bool strtakenumber(char * buffer)
{
 return strtakenumber( buffer, strlen(buffer) );
}

입니다.
잘쓰세요.
예시1 ) "345abc" => "345"
예시2 ) "1a2s3df4" => "1234"
예시3 ) "씨8아!" => "8"

조회 수 :
8759
등록일 :
2009.07.31
01:37:07 (*.176.2.2)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=graphic&document_srl=289400

똥똥배

2009.07.31
02:43:41
(*.239.144.157)
if ( buffer[i] < 48 || buffer[i] > 57 ) 이 부분에서 아스키 값을 직접 적어줄 필요없이
if ( buffer[i] < '0' || buffer[i] > '9' ) 식으로 적으면 훨씬 가독성이 높아질거라 봅니다.

널도 \0보다는 NULL이라고 적는 편이 좋다고 생각합니다.

A.미스릴

2009.08.01
01:05:38
(*.176.2.2)
수정완료
List of Articles
번호 제목 글쓴이 날짜 조회 수
52 캐릭터 캐릭터 뼈대 [1] file 흑곰 2012-12-04 6022
51 프로그램 소스 꿈일뿐이야 소스 file 흑곰 2012-09-05 5520
50 프로그램 소스 흥크립트 B 소스공개 [2] file 흑곰 2012-08-23 4990
49 얼굴 의문남 페이스칩 file 흑곰 2012-07-12 4906
48 프로그램 소스 VB6 2D 아케이드게임 샘플 [7] file 흑곰 2012-07-02 5100
47 프로그램 소스 VB6으로 만든 플랫포머 [5] file 노루발 2012-07-01 4871
46 프로그램 소스 비주얼베이직 6.0으로 만든 네트워크 file 흑곰 2012-06-15 5721
45 종합 선비전 및 기타 그래픽 소스 흑곰 2012-03-08 4856
44 기타 마법진 몇 개 [1] file 안씨 2011-09-04 4735
43 지형 제가 게임에 사용중인 지하감옥 칩셋입니다. [5] file 안씨 2011-05-22 5342
42 캐릭터 여성 캐릭 [4] file 휘발유 2010-12-28 6474
41 캐릭터 임진왜란을 배경으로 그렸던 것들. [2] file 카오스♧ 2010-04-07 7166
40 배경 황량한 우리 동네 사진2 [6] file 똥똥배 2009-08-26 7970
39 배경음 8-bit 배경음 file Kasty 2009-08-13 9082
» 프로그램 소스 C++ 숫자만 가려내기 코드 [2] A.미스릴 2009-07-31 8759