I have a char array LL,4014.84954 that I send into a function like this example:
#include <stdio.h>
#include <math.h>
void myFunction(char* in_string, char* out_string) {
  printf("Start_String=%s\n", in_string);
  int in_size = (int)(sizeof(in_string));
  printf("%d\n", in_size);
  int i = 0;
  for(i = 0; i <= in_size-ceil(in_size/2); i++) {
    out_string[i] = in_string[i];
  }
}
int main(int arg) {
  char in_string[] = "LL,4014.84954";
  char out_string[] = "";
  printf("In_String=%s\n", in_string);
  myFunction(in_string, out_string);
  printf("Out_String=%s\n", out_string);
}
My question has two parts.
- How do I get the length of this char array? - int in_size = (int)(sizeof(in_string));in this example gives me 8 which is the size of the pointer (long int). I know I could make a for loop that marches through until it see the null termination, but is there a nicer way? I previously was using char[] and- sizeofworks great, but now I am converting to char*.
- How can I write a portion of these chars to - out_string. My example currently writes all chars to- out_string.
Here is the raw output:
In_String=LL,4014.84954
Start_String=LL,4014.84954
8
Out_String=LL,40014.84954
 
     
    