Traversing through an array to find link between elements

Light Poster
17Oct2010,23:16   #1
duckdace's Avatar
The following code piece is supposed to take a string of a length between 1 and 80 chars, and divide it into blocks of 16 chars each. This seems to work fine, but I would like to be able to keep track of which block belongs to which other, so that if I want to remove a whole message, every belonging block is cleared.

You can see what my first idea was; to use the meta struct I already use for different purposes (not included in post, due to irrelevancy), and store a msg.msgID, but I'm unsure how to traverse through the blockarray, checking for this specific value.

Can anyone give me some input, or even a better solution to my problem?

Please ask if anything is unclear. My mind is kind of clouded atm, so there's a possibility that I'm not making my self sufficiantly understood.


Code:
#include/define whateverneeded

char *block[16];
int blockNmber;
int msgNmber;

struct meta {
  int msgID;
  
};
void newMSG(char *stringArray[])
{
    struct meta msg;
    block[blockNmber] = malloc(16);
    int i;
    int j = 0;
    for (i=0;i<strlen(stringArray[1]);i++) {
      if (j >= 15 {
    blockNmber++;
    j = 0;
    block[blockNmber] = malloc(16);
      }
      else {
    
    block[blockNmber[j] = stringArray[1][i];
    j++;
      }
    }
    blockNmber++;
    msgNmber++;
    msg.msgID = msgNmber;
        
   
}
btw: I know there are some holes in my algorithm if i want to include a removeObj-function, but this will be fixed. instead of using blockNmber, i will check the array for free space, but I have not come that far yet.
Ambitious contributor
18Oct2010,04:14   #2
jimblumberg's Avatar
cross-posted here traversing-through-array-find-link-between-elements
Light Poster
18Oct2010,04:40   #3
duckdace's Avatar
Yeah, thank you for pointing that out. I'm still trying to figure out which forum is the most rewarding to be a part of, so it's not impossible that you'll find my queries other places than here on go4.
Go4Expert Founder
18Oct2010,08:30   #4
shabbir's Avatar
Quote:
You can see what my first idea was; to use the meta struct I already use for different purposes (not included in post, due to irrelevancy), and store a msg.msgID, but I'm unsure how to traverse through the blockarray, checking for this specific value.
The best option is binary search if the content is sorted or else you have no option but to go for a linear search
Mentor
18Oct2010,15:30   #5
xpi0t0s's Avatar
Quote:
Originally Posted by duckdace View Post
Yeah, thank you for pointing that out. I'm still trying to figure out which forum is the most rewarding to be a part of, so it's not impossible that you'll find my queries other places than here on go4.
It's still not the best way to get help. If you're crossposting then you're requesting duplicate effort. So any time I put in to it might be completely wasted, which as a professional software engineer (who is easily capable of answering in way more depth than you ever knew existed, by the way) I find unacceptable.