2012-07-30 119 views
0

有没有办法在C中将字符串转换为数字,反之亦然?我知道我可以在C++中使用iostream并使用atoi()或sprintf()等。我想知道是否有一种方法可以在不使用流的情况下在C中完成此操作。我现在看到的唯一解决方案是创建我自己的功能,除非有人知道已经存在且已经证实的解决方案。将字符串转换为数字,反之亦然C(NOT C++)

基本上,是否有C等价于C++的atoi()和sprintf()?

+6

这两个都是C:[atoi](http://en.cppreference.com/w/c/string/byte/atoi)和[sprintf](http://en.cppreference.com/w/ C/IO/fprintf中)。 – chris 2012-07-30 15:21:44

+5

'atoi()'和'sprintf()'是C函数。然而,比使用atoi()更好的是使用'strto(u)l(l)()'。 – 2012-07-30 15:21:59

+0

标准C库显然是现代世界中一种古老而未知的艺术。 – tbert 2012-07-30 17:49:28

回答

4

这两者都是C函数:

  • atoi是在stdlib.h
  • sprintf是在stdio.h

而且,由于这些被包括为C的部分,也不需要C++流。

+0

看来我并没有看到一个非常好的C参考。或者只是看错了地方。谢谢! – Max 2012-07-30 15:39:11

+0

! atoi包含非标准化行为... – 2012-07-30 15:50:05

+0

嗯...根据http://en.wikibooks.org/wiki/C_Programming/C_Reference/stdlib.h/atoi - 'atoi被认为是由strtol弃用。所以他应该使用'strtol'而不是'atoi'? – 2012-07-30 15:55:58

相关问题