2.2.5.1.16 file::WriteWrite
Description
Write data from a buffer into the file associated with the file object.
Syntax
UINT Write( const void * lpBuf, UINT nCount )
Parameters
- lpBuf
- [input] A buffer where the data to be written is stored.
- nCount
- [input] The number of bytes to write from the buffer to the file indicated by the File object. Carriage return-line feed character combinations are counted as one byte.
Return
The number of bytes written to the file from the buffer.
Examples
EX1
//write the 1st column of active worksheet with dataset
//assume all elements of the column are numeric.
int file_Write_ex1()
{
file ff;
bool bOK = ff.Open("C:\\test.txt", file::modeCreate | file::modeReadWrite);
if(!bOK)
{
out_str("Failed to open file C:\test.txt");
return 0;
}
Worksheet wks = Project.ActiveLayer();
Column cc;
if(wks)
cc = wks.Columns(0);
else
out_str("Iinvalid worksheet");
//get data
cc.SetInternalData(FSI_DOUBLE);
Dataset ds(cc);
int nDataSize = 5;
ds.SetSize(nDataSize);
//write data
int nRead = ff.Write(ds, nDataSize * sizeof(double));
return 1;
}
EX2
int file_Write_ex2()
{
file ff;
bool bOK = ff.Open("C:\\test.txt", file::modeCreate | file::modeReadWrite);
if(!bOK)
{
out_str("Failed to open file C:\test.txt");
return 0;
}
int ia = 10;
ff.Write(&ia, sizeof(ia)); //write 4 to file.
int ib[4] = {1, 2, 3, 4};
ff.Write(ib, sizeof(ib)); //write 1, 2, 3, 4 to file following previous 4.
//write double
double da = 123.345;
ff.Write(&da, sizeof(da));
//write structure
WIN32_FIND_DATAA sa;
memset(&sa, 0, sizeof(WIN32_FIND_DATAA));
sa.dwFileAttributes = 20000;
sa.ftCreationTime.dwLowDateTime = 10;
sa.ftCreationTime.dwHighDateTime = 50;
sa.ftLastAccessTime.dwLowDateTime = 100000;
sa.ftLastAccessTime.dwHighDateTime = 500000;
sa.ftLastWriteTime.dwLowDateTime = 1000;
sa.ftLastWriteTime.dwHighDateTime = 5000;
sa.nFileSizeHigh = 9000000;
sa.nFileSizeLow = 1;
sa.dwReserved0 = 600;
sa.dwReserved1 = 98745;
lstrcpy(sa.cFileName, "C:\\Origin70\\OriginC\\origin.h");
lstrcpy(sa.cAlternateFileName,"originc.h");
ff.Write(&sa, sizeof(sa));
//write char array
char ca[20] = "This is a string.";
ff.Write(ca, sizeof(ca));
//write vector
vector<int> ik = {1, 2, 3, 4, 5};
int size = sizeof(int) * ik.GetSize();
ff.Write(ik, size);
ff.Close();
return 1;
}
Remark
See Also
File::Read, StdioFile::WriteString
Header to Include
origin.h
|