<div>Muchas gracias Steven por las observaciones acertadas.</div>
<div> </div>
<div>No he entrado a la etapa de depuración total del codigo, pero siempre una buena organización desde el principio es mejor.</div>
<div> </div>
<div>Soy programador empirico, me gusta hacer el codigo partiendo de una idea, compilar y probar.</div>
<div> </div>
<div>Agrego los siguiente comentarios.</div>
<div> </div>
<div>
<div>_trched es tipo char con 240 posiciones (char _trched [240];), al comenzar el codigo tuve muchos problemas para obtener un valor entero de 4 bytes o de 2 bytes, por lo que se me ocurrio hacer las 2 funciones de valores enteros para 2 y 4 bytes. (unsigned char int2[2];   unsigned char int4[4];) (ademas de que funcionara tanto en windows, linux y solaris)</div>

<div> </div>
<div>int entero2(unsigned char* s) <br>{<br> int ret;<br> ret = s[0] * 256;<br> ret = ret + s[1];<br> if (ret>32767) ret = ret - 65536;<br> return ret;<br>}</div>
<div>long int entero4(unsigned char* s) <br>{<br> long int ret;<br> ret = s[0] * 16777216;<br> ret = ret + s[1] * 65536;<br> ret = ret + s[2] * 256;<br> ret = ret + s[3];<br> if (ret>2147483647) ret = ret - 2147483646;<br>
 return ret; <br>}</div>
<div> </div>
<div> </div></div>
<div>Cuando se realiza el fread la variable _trched obtiene 240 bytes del archivo en la posicion que indica el for.</div>
<div> </div>
<div>Entonces desde la posicion 17-1 hasta 17+2 se encuentra el valor entero de 4 bytes que quiero leer y comparar contra la variable SP, si la traza tiene el valor del SP procedo a grabar la traza completa en nuevo archivo.</div>

<div> </div>
<div>Por lo que me tiene intrigado estas instrucciones que me comentaste.</div>
<div> </div>
<div> </div>
<div>entero4( &_trched[17-1] )<br><br>O de su forma equivalente:<br><br>entero4( _trched + 17-1 )</div>
<div> </div>
<div><br> </div>
<div>Saludos desde Villahermosa, Tabasco, Mexico, America, Tierra.</div>
<div> </div>
<div>José Luis</div>
<div> </div>