Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用小数点作为分隔符在 C 程序中拆分实数,例如 1234.56 产生
(int) whole_num = 1234 (int) 分数 = 56
有什么想法我可以如何去做吗?自从我和 C 混在一起已经很久了,明白吗?:)
void split( double num, int& whole_number, double& fraction) { fraction = modf(num, &whole_number); }
这是有效的,因为 modf 采用双精度的整数部分并返回小数部分。
假设您要拆分字符串。
strtok_r和你最喜欢的字符串到数字函数,比如strtol
strtok_r
strtol
如果您正在处理一个实际的浮点数,而不是这样的字符串表示,您应该使用它modf来拆分整数和小数部分。
modf
Perlsplit按正则表达式拆分,因此要复制完整功能,您需要一个正则表达式库。对于一般的字符串拆分,您可以使用strtok,但因为它会就地更改字符串,strtok_r(在同一页上描述)建议改为。
split
strtok