2019PHP高薪工程师学习路线图....>>>
#include<fcntl.h>
#include<stdio.h>
#include<string.h>
#define M3U8_CFG "./m3u8.cfg"
#define M3U8_HEADER "#EXTM3U\n#EXT-X-VERSION:3\n"
#define M3U8_LINE_HEADER "#EXT-X-STREAM-INF:PROGRAM-ID=1, %s"
int main()
{
FILE* fWd = NULL;
char line[1024] = { 0 };
memset( &line,0,sizeof(line) );
char* path = M3U8_CFG;
FILE* fRd =fopen( path,"r" );
if( NULL == fRd )
return 0;
fgets( line,sizeof( line ), fRd );
if( '$' == line[ 0 ] )
{
char* pWPath = line + 1;
int nLast = strlen( pWPath );
pWPath[ nLast-1 ] = '\0';
fWd = fopen( pWPath, "w+" );
if( NULL != fWd )
{
char* pheader = M3U8_HEADER;
fputs( pheader,fWd );
while( fgets( line,sizeof( line ), fRd ) )
{
if( '#' == line[ 0 ] )
{
char msg[1024] = {0};
memset(&msg,0,sizeof(msg));
char* tempLine = line + 1;
snprintf(msg, sizeof(msg),M3U8_LINE_HEADER, tempLine );
int nLast = strlen ( msg );
msg[ nLast ] = '\0';
fputs( msg,fWd );
}
else if( '^' == line[0] )
{
char* tempLine = line + 1;
fputs(tempLine,fWd );
}
}
}
}
if( NULL != fRd )
{
fclose( fRd );
fRd = NULL;
}
if( NULL != fWd )
{
fclose( fWd );
fWd = NULL;
}
return 0;
}