使用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);
,因为我选择的是“^”字符。
我似乎不能让它适用于所有的情况。如有任何建议,欢迎光临。
发布于 2015-01-29 18:57:12
您可以尝试使用格式字符串
"# %[^^]s^%d+ + %2s"
几乎是正确的,除了在%[^^]
之后必须没有s
,即。
"# %[^^]^%d+ + %2s"
很管用。
https://stackoverflow.com/questions/22516422
复制相似问题