Hi
I am reading a data from a file and save it to a variable. The format of the data is something like this:
cellIdentity: 0locationAreaIdentity.lac: 0locationAreaIdentity.plmn.mcc: 0locationAreaIdentity.plmn.mnc: 0
but I have 42 like in total.
the code takes the line, for example, cellIdentity: 0
and save cellIdentity in a variable expOutput[element].elementName and the value 0 in the variable expOutput[element].value
When I run the code without save the strings, example: cellIdentity, just saving the values, it works perfect. But when I begin to save the strings the code compile without errors but when I run it, this is what happen:
Reading the test input messageReading the SI3 test message from the fileCorrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8238) > buffer size (1057).Corrupt CIO message: buffer length (8239) > buffer size (1057).Corrupt CIO message: buffer length (8239) > buffer size (1057).Corrupt CIO message: buffer length (8222) > buffer size (1057).Corrupt CIO message: buffer length (8250) > buffer size (1057).
Corrupt CIO message: buffer length (28415) > buffer size (1057).Corrupt CIO message: buffer length (29951) > buffer size (1057).Corrupt CIO message: buffer length (8447) > buffer size (1057).Corrupt CIO message: buffer length (23551) > buffer size (1057).Corrupt CIO message: buffer length (17407) > buffer size (1057).Corrupt CIO message: buffer length (28900) > buffer size (1057).Corrupt CIO message: buffer length (8225) > buffer size (1057).
I change the stack and the head values to 5000, 10000 and 32000, but nothing happen. Please help me.
this is part of the code:
struct expectedData{
//char* elementName; char elementName[MAX_NAME_LENGTH];
int value; } expOutput[FILECOUNT]; char str[MAX_NAME_LENGTH]; char * token;
//Reading the expected output data values
puts("Reading the expected output data"); inputMessage=fopen("gsm_si3_tc_001_expected_output.txt","rt");
if((inputMessage)==NULL) { puts("File could not be opened"); }
else { for (int element = 0; element < FILECOUNT; element++) { if ( fgets (str, MAX_NAME_LENGTH, inputMessage) != NULL ) { //puts(str); //printf ("Splitting string \"%s\" into tokens:\n",str);
token = strtok (str, " :"); //printf ("%s\n",token); // expOutput[element].elementName = token; strcpy ((char *)&expOutput[element].elementName, token); //strncpy ((char *)&expOutput[element].elementName, token, MAX_NAME_LENGTH);
token = strtok (NULL, " :"); //printf ("%s\n",token); expOutput[element].value = atoi(token);
; } //expOutput[element].elementName = fgets (str, 50, inputMessage); } }
fclose(inputMessage); puts("done reading gsm_si3_tc_001_expected_output file");
Ohhh I am using the TMS320C6455 DSP and the CCS v3.3
Inerys Otero inputMessage=fopen("gsm_si3_tc_001_expected_output.txt","rt");
That last argument to fopen "rt". I've never seen that before. What do you intend? I suspect you should use just "r".
Thanks and regards,
-George
TI C/C++ Compiler Forum ModeratorPlease click Verify Answer on the best reply to your question.The Compiler Wiki answers most common questions.Track an issue with SDOWP. Enter your bug id in the "Find Record ID" box.