string to integer array transformation

Reply

Join Date: Sep 2003
Posts: 81
Reputation: Valmian is an unknown quantity at this point 
Solved Threads: 0
Valmian Valmian is offline Offline
Junior Poster in Training

string to integer array transformation

 
0
  #1
Sep 16th, 2003
Hello,
Ok.. here is another problem I have come up with..
I have a string of numbers (comma or '\n' separated (from .csv file)). I have allocated an array of integers to put in the numbers into yet how do I actually do it.
Example: I have "13, 34, 23, 12\n" string and my program should transform it into a[0]=13; a[2]=34; a[3]=23; a[4]=12

______________________________________________________________
Here are some of my ideas:
For transforming I am trying to use sscanf();
For finding what the number is (in char array format) I use a false code (works with more error then correct):

bool spc = false;
char numb[10];
memset (numb, ' ', sizeof(char)*(10+4));

printf ("\nnumbers: ");
for (int i=0; data[i]!='\0'; i++)
{

if (data[i]=='\n')
spc=true;
if (spc==true && (nch(data[i])==true || data[i]=='-'))
{
int a=i;
for (int b=0; b<10; a++, b++)
{
if ((nch(data[i])==true || data[i]=='-') && (data[i]!='\n'))
{
numb[b] = data[a];
if (data[a]=='\n')
break;
if (data[a]=='\n')
printf ("\n\\n incountered");
}
}
i=a;
fflush (stdout);
printf ("%s :: ",numb);
}
}
}
Reply With Quote Quick reply to this message  
Join Date: Sep 2003
Posts: 81
Reputation: Valmian is an unknown quantity at this point 
Solved Threads: 0
Valmian Valmian is offline Offline
Junior Poster in Training

Re: string to integer array transformation

 
0
  #2
Sep 16th, 2003
So can anybody please help me.. it doesn't seem that anyone is even reading it (3 views only and I made all three probably myself).
Ilya
Reply With Quote Quick reply to this message  
Join Date: Sep 2003
Posts: 81
Reputation: Valmian is an unknown quantity at this point 
Solved Threads: 0
Valmian Valmian is offline Offline
Junior Poster in Training

Re: Re: string to integer array transformation

 
0
  #3
Sep 16th, 2003
I think I did it...
______________________________________________________
//ch4n is part of this class function that retuns 1 if the char is a number or -1 //and 0 otherwise
short sn=0;
int f=0, g=0;
for (int i = 0; i<strlen(data); i++)
{
if (data[i]=='\n')
sn=1;
if (ch4n(data[i])==1 && sn==1)
{
char numb[10];
memset (numb, ' ', sizeof(numb));

int b = 0;
for (int a=i; ch4n(data[a])==1; a++)
{

numb[b]=data[a];

b++;
i=a+1;
}

sscanf (numb,"%d",&arrays.ar[f].values[g]);
fflush (stdout);
f++;
if (f==arrays.width)
{
f=0;
g++;
}

}
}
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC