Juups, elikkäs tiedustelenpa mitä tapoja on perus win32 api -ohjelmassa käsitellä fileä ?
tarkoitus olisi tallentaa tiedostoon seuraavaa:
juokseva ID, päivämäärä, kellonaika, lyhyt teksti
siis esimerkiksi:
1, 6.11.2003, 12:23, Lähdin kouluun..
2, 7.11.2003, 13:35, Menin kauppaan
.
.
n, jne...
ja nämä pitäisi saada luettua jotenkin esim. tekstikentään tjsp.
Lähinnä tuo fileenkirjoitus/luku ihmetyttää, ja se millä tiedot kannattaa erotella toisistaan.
Lisänä vielä rivien poisto, mutta kunhan saisi aluksi nyt nuihin hieman apuja.
tarkoitus olisi tallentaa tiedostoon seuraavaa:
juokseva ID, päivämäärä, kellonaika, lyhyt teksti
siis esimerkiksi:
1, 6.11.2003, 12:23, Lähdin kouluun..
2, 7.11.2003, 13:35, Menin kauppaan
.
.
n, jne...
ja nämä pitäisi saada luettua jotenkin esim. tekstikentään tjsp.
Lähinnä tuo fileenkirjoitus/luku ihmetyttää, ja se millä tiedot kannattaa erotella toisistaan.
Lisänä vielä rivien poisto, mutta kunhan saisi aluksi nyt nuihin hieman apuja.
Vastaukset 2
Vanhimmat
/* FOPEN.C: This program opens files named "data"
* and "data2".It uses fclose to close "data" and
* _fcloseall to close all remaining files.
*/
#include
FILE *stream, *stream2;
void main( void )
{
int numclosed;
/* Open for read (will fail if file "data" does not exist) */
if( (stream = fopen( "data", "r" )) == NULL )
printf( "The file 'data' was not opened
" );
else
printf( "The file 'data' was opened
" );
/* Open for write */
if( (stream2 = fopen( "data2", "w+" )) == NULL )
printf( "The file 'data2' was not opened
" );
else
printf( "The file 'data2' was opened
" );
/* Close stream */
if( fclose( stream ) )
printf( "The file 'data' was not closed
" );
/* All other files are closed: */
numclosed = _fcloseall( );
printf( "Number of files closed by _fcloseall: %u
", numclosed );
}
Otsikon mukaisesti halunnet käyttää 32 bittisen windowsin apia eli jotain tämmöistä:
HANDLE hFile = CreateFile(strFileName.c_str(),
GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile == INVALID_HANDLE_VALUE)
{}
DWORD dwWritten = 0;
if (!WriteFile (hFile,
GetDoc().c_str(), // TODO: kirjoitettava stringi
GetDoc().length(),// TODO: stringin pituus
&dwWritten,
NULL) || dwWritten != GetDoc().length())
{}
CloseHandle(hFile);