⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftpwritefile.cpp

📁 在linux下实现使用脚本文件
💻 CPP
字号:
		#include <string.h>
#include <stdio.h>
#define TRUE 1#define FALSE 0

#define FTP_FILENAME "ppp-on" 

#define TELEPHONE_LEN 16
#define USER_NAME_LEN 10
#define PASSWORD_LEN 8
struct FTP_BASIC_INFO{
	char TELEPHONE[TELEPHONE_LEN+1];
	char ACCOUNT[USER_NAME_LEN+1];
	char PASSWORD[PASSWORD_LEN+1];
};
enum FTPINSTRUCT { User, Bi, Lcd, Put, Get, Delete, Bye};
//*******************************************//
//向脚本文件中追加一条操作,str1,str2为参数
//*******************************************//
int AddFtpInfo(const char *FileName, FTPINSTRUCT FtpIns, const char *str1, const char *str2){	
	FILE* pFile;
	char pData[256];
	memset(pData, 0, 256);
	pFile = fopen( FileName, "rb+" );
    if (pFile == NULL)
    {
        return FALSE;
    }
	switch(FtpIns)
	{
	case User:
		sprintf(pData, "user %s %s\n",str1, str2);
		break;
	case Bi:
		sprintf(pData, "bi\n");
		break;
	case Lcd:
		sprintf(pData, "lcd %s\n",str1);
		break;
	case Get:
		sprintf(pData, "get %s\n",str1);
		break;
	case Put:
		sprintf(pData, "put %s\n",str1);
		break;
	case Delete:
		sprintf(pData, "delete %s\n",str1);
		break;
	default:
		break;
	}
	
	// 定位文件指针
	if(fseek( pFile, 0, SEEK_END ))
    {
        fclose(pFile);
        return FALSE;
    }

    if(fwrite( pData, strlen(pData), 1, pFile) != 1)
	{
		fclose(pFile);
		return FALSE;
	}

	fclose(pFile);
	return TRUE;
}
//*******************************************//
//创建一个文件
//*******************************************//
int CreateFile(const char *FileName)
{
	FILE* pFile;
	pFile = fopen( FileName, "wb+" );
    if (pFile == NULL)
    {
        return FALSE;
    }
	fclose(pFile);
	return TRUE;
}//*******************************************//
//修改FTP拨号脚本文件中的FTP_BASIC_INFO结构
//*******************************************//
int ModifyFtpBasicInfo(struct FTP_BASIC_INFO * stFtpBasicInfo)
{
	
	FILE* pFile;
	int lFileLen;	
	
	pFile = fopen( FTP_FILENAME, "rb+" );
    if (pFile == NULL)
    {
        return FALSE;
    }
	
    // 定位文件指针到文件尾位置
    if(fseek( pFile, 0, SEEK_END ))
    {
        fclose(pFile);
        return FALSE;
    }	
	
	lFileLen = ftell( pFile );

	char* cTemp = new char [lFileLen + 1];

	if(fseek( pFile, 0, SEEK_SET ))
    {
        fclose(pFile);
		delete [] cTemp;
        return FALSE;
    }
    // 获取文件信息
    if (fread( cTemp, lFileLen, 1, pFile ) != 1)
    {
        fclose(pFile);
		delete [] cTemp;
        return FALSE;
    }
	cTemp[lFileLen] = '\0';	
	
	char *pdest;
	pdest = strstr(cTemp, "TELEPHONE=");
	if(pdest != NULL)
	{
		pdest = pdest+strlen("TELEPHONE=");
		memset(pdest, 0x20, TELEPHONE_LEN);
		memcpy(pdest, stFtpBasicInfo->TELEPHONE, strlen(stFtpBasicInfo->TELEPHONE) );
	}

	pdest = strstr(cTemp, "ACCOUNT=");
	if(pdest != NULL)
	{
		pdest = pdest+strlen("ACCOUNT=");
		memset(pdest, 0x20, USER_NAME_LEN);
		memcpy(pdest, stFtpBasicInfo->ACCOUNT, strlen(stFtpBasicInfo->ACCOUNT) );
	}

	pdest = strstr(cTemp, "PASSWORD=");
	if(pdest != NULL)
	{
		pdest = pdest+strlen("PASSWORD=");
		memset(pdest, 0x20, PASSWORD_LEN);
		memcpy(pdest, stFtpBasicInfo->PASSWORD, strlen(stFtpBasicInfo->PASSWORD) );
	}
	
	// 定位文件指针
	if(fseek( pFile, 0, SEEK_SET ))
    {
        fclose(pFile);
		delete [] cTemp;
        return FALSE;
    }

    if(fwrite( cTemp, lFileLen, 1, pFile) != 1)
	{
		fclose(pFile);
		delete [] cTemp;
		return FALSE;
	}

	fclose(pFile);
	delete [] cTemp;
	return TRUE;
	
}
int main(void){
	struct FTP_BASIC_INFO stFtpBasicInfo;
	memset(&stFtpBasicInfo,0, sizeof(FTP_BASIC_INFO) );
	strcpy(stFtpBasicInfo.TELEPHONE,"0532-6016013");
	strcpy(stFtpBasicInfo.ACCOUNT,"163");
	strcpy(stFtpBasicInfo.PASSWORD,"8163");
	
	if(ModifyFtpBasicInfo(&stFtpBasicInfo) != TRUE)
		return -1;

	if(CreateFile("up.txt") != TRUE)
		return -1;	
	if(AddFtpInfo("up.txt", User, "ppp", "123567") != TRUE)
		return -1;

	if(AddFtpInfo("up.txt", Bi, NULL, NULL) != TRUE)
		return -1;

	if(AddFtpInfo("up.txt", Lcd, "/usr/data/", NULL) != TRUE)
		return -1;

	if(AddFtpInfo("up.txt", Put , "baogao.rar", NULL) != TRUE)
		return -1;
	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -