PicNic hat den gröbsten Fehler schon erwähnt. Du musst für Deinen Ergebnis-String ausreichend Speicherplatz reservieren.
Der zweite Fehler ist, dass Du den inPtr zu früh inkrementierst. So würdest Du das erste Zeichen verlieren.
So würde Dein Code funktionieren:
Code:char strIn[] = "123.321"; char strOut[8] = ""; char *inPtr = (char *)&strIn; char *outPtr = (char *)&strOut; while(*inPtr != 46) *outPtr++ = *inPtr++;
Lesezeichen