Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Input Of an Unspecified Amount From a User

Posted on 1998-09-27
2
Medium Priority
?
247 Views
Last Modified: 2010-04-15
I am working on a project where the user enters in an unspecified amount of integers.  I havent came up with a good solution.

I can have the user enter the integers using scanf.  Scanf returns the amount of items entered I can use this to determine how much memory to allocate with malloc.  The problem is does scanf only count the valid data
(integers as opposed to characters?).  How would I handle if a character was in the mix of integers?


Am I headed in the right direction on this or does anyoen have a much better way of handling this.

Thanks
Darrell
0
Comment
Question by:larockd
2 Comments
 
LVL 1

Accepted Solution

by:
dotand earned 40 total points
ID: 1253087
Yoir best option would be to use a macro like isnum (I think that's the name on Borland C compiler, version 3.1).
If not than write your own, simply check the string until you hit a null and for each char check if it's the ascii range reserved for numbers.

That is, supposing s is the string in question and i an integer declared somewhere else that:


is_num(char *s){
  int i=0;
  while(s[i]){
    if(s[i]<='0' || s[i]<='9')
      return(0);
   }
   return(1);
   }
 }

Running atoi on the returned string won't help because there might be only a prtial conversion if it is a mixed string and no error returned. Better check using this method and then call atoi,
or are you lucky enough to call atol ?  ;-)>.

HTH,
Dotan
0
 
LVL 85

Expert Comment

by:ozo
ID: 1253088
What do you want to happen if a character was in the mix of integers?
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you thought about creating an iPhone application (app), but didn't even know where to get started? Here's how: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Important pre-programming comments: I’ve never tri…
Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.
The goal of this video is to provide viewers with basic examples to understand opening and reading files in the C programming language.

572 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question