atoi


 
Thread Tools Search this Thread
Top Forums Programming atoi
# 1  
Old 03-09-2006
atoi

i know what is the use of atoi function....
converts string to int.

but whenever i use that it gives me 0....
could any one help in this issue..

eg.
int i;
char str[20];
str="name";
i=atoi(str);
i gives me 0. why?
# 2  
Old 03-09-2006
bankpro, the function atoi just recognises
1) An optional string of tabs or spaces
2) An optional sign &
3) A string of digits

And upon recognising it converts it to int otherwise on failure it returns 0.
So if u try to convert a string like "name" u'll b getting 0 as it doesn't recognise it. If u try something like "22" or "-22" or even " -22" it would return int (here 22 or -22 as the case be).
I hope this clears ur doubt
# 3  
Old 03-09-2006
The standard for atoi is to read along a string from a given starting point until it encounters a space, a nul, or a non-numeric character. "name" starts with an "n" which is non-numeric. atoi is finsihed before it starts. By definition, atoi returns 0 in that case.
# 4  
Old 03-13-2006
Quote:
int i;
char str[20];
str="name";
i=atoi(str);
what is the purpose that is aimed for in converting a string literal "name" to an integer?
Login or Register to Ask a Question

Previous Thread | Next Thread

2 More Discussions You Might Find Interesting

1. Programming

type conversion C, atoi()

In the book "The C programming language"; second edition, chapter 2.7 there is a snippet which is supposed to: "convert a string of digits into its numeric equivalent". int atoi(char s) { int i, n; n = 0; for ( i = 0; s >= '0' && s <= '9'; ++i) n = 10 * n + (s -... (4 Replies)
Discussion started by: tornow
4 Replies

2. Programming

help with atoi and macros in C

I have a PORT_NUM macro (10 digits long number) in a server file, if i do htons(PORT_NUM) i get warning: this decimal constant is unsigned only in ISO C90 warning: large integer implicitly truncated to unsigned type whats wrong with this? (2 Replies)
Discussion started by: omega666
2 Replies
Login or Register to Ask a Question