메뉴 건너뛰기

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

선언문은

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"

조회 수 :
8756
등록일 :
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
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일
12 프로그램 소스 침묵하는 신의 탑 1.15 소스코드 file 노루발 65   2021-02-24 2021-02-24 12:09
 
11 프로그램 소스 타이쿤 게임에 써먹을 길찾기 [2] file 노루발 4630   2015-03-04 2015-03-04 10:29
 
10 프로그램 소스 Love2d 랜덤 던전 생성기 file 노루발 4636   2015-02-16 2015-02-16 00:37
 
9 프로그램 소스 한국 전력 시뮬레이션: 소스 코드 [3] 노루발 5067   2014-02-22 2017-01-25 20:21
한국 전력 시뮬레이션의 소스 코드입니다. 이 프로그램을 어떠한 형태로든 복제해서 타인에게 나눠주는 것을 허용하며, 개인이 운영하는 사이트 등에 업로드하는것 또한 허락합니다. 이 프로그램은 오픈소스이므로 누구나 개작할 수 있습니다. 하지만 안의 BG...  
8 프로그램 소스 꿈일뿐이야 소스 file 흑곰 5520   2012-09-05 2012-09-05 07:26
 
7 프로그램 소스 흥크립트 B 소스공개 [2] file 흑곰 4989   2012-08-23 2012-08-23 19:56
 
6 프로그램 소스 VB6 2D 아케이드게임 샘플 [7] file 흑곰 5100   2012-07-02 2012-07-04 07:04
 
5 프로그램 소스 VB6으로 만든 플랫포머 [5] file 노루발 4870   2012-07-01 2012-07-02 07:42
 
4 프로그램 소스 비주얼베이직 6.0으로 만든 네트워크 file 흑곰 5721   2012-06-15 2012-06-15 20:26
 
» 프로그램 소스 C++ 숫자만 가려내기 코드 [2] A.미스릴 8756   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.미스릴 7378   2009-07-30 2009-07-31 02:45
http://pds.hanafos.com/NPViewPds.asp?fileSeq=264654&bCate=1 똥똥배님 조언좀 부탁드림  
1 프로그램 소스 맵배치 툴 소스 file A.미스릴 7416   2009-02-17 2009-09-23 05:31