Raised This Month: $ Target: $400
 0% 

read_file ( const file[], line, text[], len, &txtLen )


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 08-09-2011 , 10:37   Re: read_file ( const file[], line, text[], len, &txtLen )
Reply With Quote #1

What criteria do you use to determine if a line will be replaced? Text contained in the line?
__________________
Bugsy is offline
gamer99
Senior Member
Join Date: Jul 2011
Old 08-09-2011 , 10:40   Re: read_file ( const file[], line, text[], len, &txtLen )
Reply With Quote #2

na ok lemme explain what i need ...

1) I wanna put one filename to a file

say

last.bat

2) It will only hold one file name . Next time i delete that line and put some other file name .

So basically i will read / delete / write the 1st line .

So what is the best way to do it ?
gamer99 is offline
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 08-09-2011 , 10:50   Re: read_file ( const file[], line, text[], len, &txtLen )
Reply With Quote #3

PHP Code:
//Read first line in a file
new szLine32 ] , iLen;
read_file"test.txt" szLine charsmaxszLine ) , iLen );

//Overwrite first line in file
write_file"test.txt" "last.bat" ); 
You can use this to search for a line of text containing a keyword and replace it with a new line. It will return -1 if file doesnt exist, 0 if file exists but searched item was not found, 1 if searched item found and replaced.
PHP Code:
public ReplaceLineItem( const szFile[] , const szItemToFind[] , const szNewLine[] )
{
    new 
iFilePos szLineItem512 ] , bool:bFound iFileHandle;

    if ( !( 
iFileHandle fopenszFile "rt" ) ) )
        return -
1;

    while ( !
feofiFileHandle ) )
    {
        
iFilePos++;
        
        if ( !
fgetsiFileHandle szLineItem charsmaxszLineItem ) ) )
            continue;
        
        if( 
containiszLineItem szItemToFind ) >= 0  )
        {
            
write_fileszFile szNewLine iFilePos );
            
bFound true;
            break;
        }
    }
    
    
fcloseiFileHandle );

    return 
bFound;

__________________

Last edited by Bugsy; 08-09-2011 at 11:17.
Bugsy is offline
gamer99
Senior Member
Join Date: Jul 2011
Old 08-09-2011 , 10:59   Re: read_file ( const file[], line, text[], len, &txtLen )
Reply With Quote #4

Thanks a lot ... i will try it

One more thing if the file does not exits then how to wirte that file and make the first entry ?

for example

Code:
if(!file_exists(file))
{
file_handle = fopen(file, "wt")
//holder is the string
fputs(file_handle, holder)
	fclose(file_handle)
}
is it a good way or there are some better way ?
gamer99 is offline
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 08-09-2011 , 11:07   Re: read_file ( const file[], line, text[], len, &txtLen )
Reply With Quote #5

Quote:
Originally Posted by gamer99 View Post
Thanks a lot ... i will try it

One more thing if the file does not exits then how to wirte that file and make the first entry ?

for example

Code:
if(!file_exists(file))
{
file_handle = fopen(file, "wt")
//holder is the string
fputs(file_handle, holder)
	fclose(file_handle)
}
is it a good way or there are some better way ?
For something this simple I would use what I posted. With write_file()\read_file(), you do not open and close a file, you simply call the function and it does all of the work for you. There is no need to check if file exists since when you call write_file(), it will create a new file if one doesnt exist and write the line for you. If you still want to check if the file exists for some other reason, just use the file_exists() native.

You can access various lines in the file if you need to. If you notice, there is a 0 parameter specified which relates to the first line in the file. If you replace that with 1 it will work with the second line in the file, and so on.
__________________

Last edited by Bugsy; 08-09-2011 at 11:10.
Bugsy is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 03:27.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode