题目:有函数:int parseSoundSetting(
char
*configure, stSoundSetting *setting)
把字符串 ID_SOUND_AAA_BBB_12V7R99W 匹配的结构体
struct
_stSoundSetting 中
#define
BUFF_LEN 100
#define
AMP_NAME_LEN 10
#define
MODEL_NAME_LEN 40
typedef
struct
_stSoundSetting
{
char
amplifier[AMP_NAME_LEN];
char
modelname[MODEL_NAME_LEN];
int
voltage;
int
impedance;
a
int
power;
}stSoundSetting;
例如:
输入 ID_SOUND_AAA_BBB_12V7R99W
输出
amplifier = AAA
modelname = BBB
voltage = 12
impedance = 7
power = 99
#include
<stdlib.h>
#include
<stdio.h>
#define
BUFF_LEN 100
#define
AMP_NAME_LEN 10
#define
MODEL_NAME_LEN 40
typedef
struct
_stSoundSetting
{
char
amplifier[AMP_NAME_LEN];
char
modelname[MODEL_NAME_LEN];
int
voltage;
int
impedance;
int
power;
}stSoundSetting;
int
parseSoundSetting(
char
*configure, stSoundSetting *setting);
int
main()
{
stSoundSetting p;
char
configure[100];
printf(
"please input:\n"
);
scanf(
"%s"
,configure);
parseSoundSetting(configure,&p);
printf(
"%s\n"
,p.amplifier);
printf(
"%s\n"
,p.modelname);
printf(
"%d\n"
,p.voltage);
printf(
"%d\n"
,p.impedance);
printf(
"%d"
,p.power);
return
0;
}
int
parseSoundSetting(
char
*configure, stSoundSetting *setting)
{
int
i=0,j=0;
setting->voltage=0;
setting->impedance=0;
setting->power=0;
while
(configure[i]!=
'_'
)
{
setting->amplifier[j]=configure[i];
i++;
j++;
}
i++;
j=0;
while
(configure[i]!=
'_'
)
{
setting->modelname[j]=configure[i];
i++;
j++;
}
i++;
j=0;
while
(configure[i]<
'0'
||configure[i]>
'9'
)
{
i++;
}
while
(configure[i]>=
'0'
&&configure[i]<=
'9'
)
{
setting->voltage=setting->voltage*10+(configure[i]-48);
i++;
}
while
(configure[i]<
'0'
||configure[i]>
'9'
)
{
i++;
}
while
(configure[i]>=
'0'
&&configure[i]<=
'9'
)
{
setting->impedance=setting->impedance*10+(configure[i]-48);
i++;
}
while
(configure[i]<
'0'
||configure[i]>
'9'
)
{
i++;
}
while
(configure[i]>=
'0'
&&configure[i]<=
'9'
)
{
setting->power=setting->power*10+(configure[i]-48);
i++;
}
return
0;
}