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);
   }
  }
 }

Edited 3 Years Ago by Dani: Formatting fixed

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

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++;
                }

            }
        }

Edited 3 Years Ago by Dani: Formatting fixed

This article has been dead for over six months. Start a new discussion instead.