|
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
|

07-20-2019
, 07:42
Re: fprintf not working
|
#9
|
Solved.
Solution: I forgot (of course) to close the file after reading messages, so it wouldn't let me write in it. It's always the small things that cause huge issues.
Code:
LoadMessages( )
{
ArrayClear( g_aMessages );
new szFile[ 128 ], szData[ 256 ];
formatex( szFile, charsmax( szFile ), "%s/%s", g_szConfigsDir, "ContactSystem_Messages.ini" );
new iFile = fopen( szFile, "rt" );
if( iFile )
{
while( fgets( iFile, szData, charsmax( szData ) ) )
{
trim( szData );
switch( szData[ 0 ] )
{
case EOS, '#', ';', '/':
{
continue;
}
default:
{
new szId[ 6 ], szTitle[ 64 ], szBody[ 256 ], szSender[ 32 ], szReader[ 32 ], szTo[ 32 ], szTimeStamp[ 20 ], szReadTime[ 20 ], szIndividual[ 2 ], szRead[ 2 ], szRemoved[ 2 ];
parse( szData, szId, charsmax( szId ), szTitle, charsmax( szTitle ), szBody, charsmax( szBody ), szSender, charsmax( szSender ), szReader, charsmax( szReader ),
szTo, charsmax( szTo ), szTimeStamp, charsmax( szTimeStamp ), szReadTime, charsmax( szReadTime ), szIndividual, charsmax( szIndividual ), szRead, charsmax( szRead ),
szRemoved, charsmax( szRemoved ) );
new eData[ MessageStruct ];
eData[ Message_Id ] = str_to_num( szId );
copy( eData[ Message_Title ], charsmax( eData[ Message_Title ] ), szTitle );
copy( eData[ Message_Text ], charsmax( eData[ Message_Text ] ), szBody );
copy( eData[ Message_Sender ], charsmax( eData[ Message_Sender ] ), szSender );
copy( eData[ Message_Reader ], charsmax( eData[ Message_Reader ] ), szReader );
copy( eData[ Message_To ], charsmax( eData[ Message_To ] ), szTo );
eData[ Message_TimeStamp ] = str_to_num( szTimeStamp );
eData[ Message_ReadTime ] = str_to_num( szReadTime );
eData[ Message_Individual ] = bool:str_to_num( szIndividual );
eData[ Message_Read ] = bool:str_to_num( szRead );
eData[ Message_Removed ] = bool:str_to_num( szRemoved );
ArrayPushArray( g_aMessages, eData );
g_iMessageCount++;
}
}
}
}
return g_iMessageCount;
}
-->
Code:
LoadMessages( )
{
ArrayClear( g_aMessages );
new szFile[ 128 ], szData[ 256 ];
formatex( szFile, charsmax( szFile ), "%s/%s", g_szConfigsDir, "ContactSystem_Messages.ini" );
new iFile = fopen( szFile, "rt" );
if( iFile )
{
while( fgets( iFile, szData, charsmax( szData ) ) )
{
trim( szData );
switch( szData[ 0 ] )
{
case EOS, '#', ';', '/':
{
continue;
}
default:
{
new szId[ 6 ], szTitle[ 64 ], szBody[ 256 ], szSender[ 32 ], szReader[ 32 ], szTo[ 32 ], szTimeStamp[ 20 ], szReadTime[ 20 ], szIndividual[ 2 ], szRead[ 2 ], szRemoved[ 2 ];
parse( szData, szId, charsmax( szId ), szTitle, charsmax( szTitle ), szBody, charsmax( szBody ), szSender, charsmax( szSender ), szReader, charsmax( szReader ),
szTo, charsmax( szTo ), szTimeStamp, charsmax( szTimeStamp ), szReadTime, charsmax( szReadTime ), szIndividual, charsmax( szIndividual ), szRead, charsmax( szRead ),
szRemoved, charsmax( szRemoved ) );
new eData[ MessageStruct ];
eData[ Message_Id ] = str_to_num( szId );
copy( eData[ Message_Title ], charsmax( eData[ Message_Title ] ), szTitle );
copy( eData[ Message_Text ], charsmax( eData[ Message_Text ] ), szBody );
copy( eData[ Message_Sender ], charsmax( eData[ Message_Sender ] ), szSender );
copy( eData[ Message_Reader ], charsmax( eData[ Message_Reader ] ), szReader );
copy( eData[ Message_To ], charsmax( eData[ Message_To ] ), szTo );
eData[ Message_TimeStamp ] = str_to_num( szTimeStamp );
eData[ Message_ReadTime ] = str_to_num( szReadTime );
eData[ Message_Individual ] = bool:str_to_num( szIndividual );
eData[ Message_Read ] = bool:str_to_num( szRead );
eData[ Message_Removed ] = bool:str_to_num( szRemoved );
ArrayPushArray( g_aMessages, eData );
g_iMessageCount++;
}
}
}
fclose( iFile );
}
return g_iMessageCount;
}
__________________
Last edited by edon1337; 07-20-2019 at 07:43.
|
|