On 3 January 2011 09:21, Rohit Arul Raj wrote: > Hello All, > > I need some clarification for fwrite. This question has nothing to do with GCC so this mailing list is the wrong place to ask. You should find a general C programming forum. > #include<stdio.h> > > int main() > { > unsigned long writeBuffer [64]; > unsigned long Pos; > unsigned long j; > > FILE* pFile = fopen("tmp.txt", "w+t"); > > for(j = 0; j < 64; j++) > writeBuffer[j] = 2560 + j * 4; // -----------------------(A) > > fwrite(writeBuffer, 1, 256, pFile); > > fgetpos(pFile, &Pos); > printf("pos = %d\n", Pos); > > fclose (pfile); > } > > ------------------------------------------- > Expected output : 256 > Actual Output : 320 > --------------------------------------------- > > 1) Can i use fwrite even though the file has been opened in text mode? Yes. > If yes, then will using fwrite change the file mode to binary? No. Text mode affects how line-endings are written on some platforms, but you haven't said what platform you're using. It might be that a byte with the same value as '\n' is being converted to a different sequence of bytes.