
No.3ベストアンサー
- 回答日時:
strの中身から数字をなくす方法
#include<stdio.h>
void del_digit(char *str);
int main(void)
{
char *str = "abcd234678efg";
del_digit(str);
puts(str);
return 0;
}
void del_digit(char *str)
{
char *ptr = str;
int i = 0;
while(*ptr != '\0')
{
if(*ptr < '0' || *ptr > '9')
{
*(str+i) = *ptr;
i++;
}
ptr++;
}
*(str+i) = '\0';
}
No.4
- 回答日時:
まあ、簡単に2バイトコードとか考えないで作るなら。
2バイトコード判定するなら2バイトコードの後の1バイトは判定しない様に処理増やして。
void del_digit(char *str)
{
char *ptr = str;
/* 引数のNULLチェック */
if(str == NULL){
return;
}
while(*str){
if(((*str) < '0') || ('9' < (*str))){
/* 数字と一致しなければコピー */
*ptr = *str;
ptr++;
}
str++;
}
*ptr = NULL;
}
No.2
- 回答日時:
ひとつの方向性としては、
与えられた文字列と同じサイズのバッファを別途用意し、与えられた文字列の先頭から1文字ずつたどりながら数字以外であったらその文字を用意したバッファに書き込んでいく。最後までたどり終わったらバッファにお望みの文字列が入っているはずです。
というのがアルゴリズムとしてはわかりやすいとおもいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のintとcharの違いってな...
-
CStringからchar*への型変換に...
-
C++Builder6 ポインタ
-
strcat関数を自作したいです
-
共用体について
-
char*を初期化したいのですが
-
C++Builder 2009 テキスト...
-
fstream型オブジェクトを関数の...
-
入力された文字列の中の数字を...
-
動的メモリの初期化方法について。
-
csvファイルを構造体に格納した...
-
C++17で、unsigned char * 配列...
-
char型にint型の数値を代入する。
-
文字型配列に格納した空白の切捨て
-
文字列の途中から途中までを抽出
-
ポインタについて
-
new charとnew char[N]の違いは?
-
しつこい様ですが、再度ポイン...
-
DWORDとcharの変換
-
小数点入りの文字列をfloat型に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringからchar*への型変換に...
-
char*を初期化したいのですが
-
C言語のintとcharの違いってな...
-
char型にint型の数値を代入する。
-
C言語にて構造体のメンバがNULL...
-
fgetc( )の戻り値はなぜ整数??
-
char 文字列型 の表現範囲が-12...
-
fstream型オブジェクトを関数の...
-
C++17で、unsigned char * 配列...
-
DWORDとcharの変換
-
文字列内の数字削除
-
new charとnew char[N]の違いは?
-
文字型配列に格納した空白の切捨て
-
C++Builder 2009 テキスト...
-
csvファイルをfscanfで読み込む...
-
文字列の途中から途中までを抽出
-
[C] 構造体メンバーのカンマ区...
-
エクセルのMID関数は、C言語では?
-
小数点入りの文字列をfloat型に...
-
wsprintf( ポインタ , "%d" , "...
おすすめ情報