使用fgets,我已经从文本文件中读取了一行。这条线可能是这样的:
# O^6+ + H -> O^5+ + H^+
或者可能是这样:
# Mg^12+ + H -> Mg^11+ + H^+
或者这个:
# Ne^10+ + He -> Ne^9+ + He^+
或许多其他可能性。
我试图从字符串中提取离子,电荷和原子项。
我试过这样的事情:
sscanf(line,"# %2s^%d+ + %2s",cs->ION,&(cs->Z),cs->ATOM);
我也试过这个:
sscanf(line,"# %[^^]s^%d+ + %2s",cs->ION,&(cs->Z),cs->ATOM);
因为我正在拿起'^'字符。
我似乎无法让每个案例都适用。任何建议都表示赞赏。
答案 0 :(得分:0)
您尝试使用格式字符串
"# %[^^]s^%d+ + %2s"
几乎是正确的,除了%[^^]
之后必须没有s
,i。即
"# %[^^]^%d+ + %2s"
作品。