before you flame me, i´ve tried both strtol AND atoi and they dont work.
i´m trying to convert a string to and intger. when i display the string on screen, it is perfect (122). but when i make a folder with the contents of this string, it comes out really wierd.
i tried strtol and atoi but it doesnt make a difference.
my attempt:
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
char streaminput[BUFSIZ] = "#RAWWAASFRAMEA,COM1,9,68.0,SATTIME,1263,126458.000,00000000,58e4,1522,22,122,62,5663456345dba43623443efdaef3245345fea32534562663462323c000,22*d04567cde";
char wasteitems[BUFSIZ] = "#RAWWAASFRAMEA SATTIME COM ; , * .";
//output array of filtering stage
char *filteredstream;
char *firstfilter;
char *secondfilter;
char *thirdfilter;
char *fourthfilter;
char *decodweek;
char *decodtime;
char *seventhfilter;
char *eigthfilter;
char *ninthfilter;
char *tenthfilter;
char *eleventhfilter;
char *decodPRN;
char *decodmsgtype;
char *decodmsg;
char *fifteenthfilter;
char *decodPRC;
int intPRN;
char decoddate[9] = "20 06 05"; // ONLY FOR TEST!!!
int main()
{
printf( "remaining data:\n" );
firstfilter = strtok( streaminput, wasteitems );
//****************Opens a file in the temp folder to write temp array to************//
secondfilter = strtok( NULL, wasteitems );
thirdfilter = strtok( NULL, wasteitems );
fourthfilter = strtok( NULL, wasteitems );
decodweek = strtok( NULL, wasteitems );
printf( "\n decodweek: %s", decodweek );
decodtime = strtok( NULL, wasteitems );
printf( "\n decodtime: %s", decodtime );
seventhfilter = strtok( NULL, wasteitems );
eigthfilter = strtok( NULL, wasteitems );
ninthfilter = strtok( NULL, wasteitems );
tenthfilter = strtok( NULL, wasteitems );
eleventhfilter = strtok( NULL, wasteitems );
decodPRN = strtok( NULL, wasteitems );
printf( "\n decodPRN: %s", decodPRN );
decodmsgtype = strtok( NULL, wasteitems );
printf( "\n decodmsgtype: %s", decodmsgtype );
decodmsg = strtok( NULL, wasteitems );
printf( "\n decodmsg: %s", decodmsg );
fifteenthfilter = strtok( NULL, wasteitems );
decodPRC = strtok( NULL, wasteitems );
printf( "\n decodPRC: %s \n\n", decodPRC );
//intPRN = atoi(decodPRN);
intPRN = strtol(decodPRN,NULL, 100);
printf("intPRN: %3d, intPRN");
}