메뉴 건너뛰기

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

선언문은

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"

조회 수 :
9154
등록일 :
2009.07.31
01:37:07 (*.176.2.2)
엮인글 :
게시글 주소 :
https://hondoom.com/xe/graphic/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
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일
13 프로그램 소스 흑곰 클리커 소스코드 [2] file 노루발 834   2026-07-02 2026-07-03 11:42
 
12 프로그램 소스 침묵하는 신의 탑 1.15 소스코드 file 노루발 1042   2021-02-24 2021-02-24 12:09
 
11 프로그램 소스 타이쿤 게임에 써먹을 길찾기 [2] file 노루발 5687   2015-03-04 2015-03-04 10:29
 
10 프로그램 소스 Love2d 랜덤 던전 생성기 file 노루발 5588   2015-02-16 2015-02-16 00:37
 
9 프로그램 소스 한국 전력 시뮬레이션: 소스 코드 [3] 노루발 6121   2014-02-22 2017-01-25 20:21
 
8 프로그램 소스 꿈일뿐이야 소스 file 흑곰 5917   2012-09-05 2012-09-05 07:26
 
7 프로그램 소스 흥크립트 B 소스공개 [2] file 흑곰 5532   2012-08-23 2012-08-23 19:56
 
6 프로그램 소스 VB6 2D 아케이드게임 샘플 [7] file 흑곰 5567   2012-07-02 2012-07-04 07:04
 
5 프로그램 소스 VB6으로 만든 플랫포머 [5] file 노루발 5351   2012-07-01 2012-07-02 07:42
 
4 프로그램 소스 비주얼베이직 6.0으로 만든 네트워크 file 흑곰 6106   2012-06-15 2012-06-15 20:26
 
» 프로그램 소스 C++ 숫자만 가려내기 코드 [2] A.미스릴 9154   2009-07-31 2009-08-01 01:05
선언문은 bool strtakenumber(char * buffer, int size); bool strtakenumber(char * buffer); 이고 정의문은 bool strtakenumber(char * buffer, int size) { // 숫자 이외의 부분 골라서 지우는 알고리즘 // 만든 이 : A.미스릴 // http://hondoom.com/ // h...  
2 프로그램 소스 소스코드 포함된 용사레이스 [1] A.미스릴 7806   2009-07-30 2009-07-31 02:45
 
1 프로그램 소스 맵배치 툴 소스 file A.미스릴 7799   2009-02-17 2009-09-23 05:31