xssbufffree的简单介绍

第三方分享代码
hacker 3年前 (2022-07-05) 破解服务 136 3

目录介绍:

C语言问题在线等

#include stdio.h

#include stdlib.h

int main()

{

int m,n,d; //保存输入参数

int zh,yu,ct; //分别保存 m/n的整数部分,计算中的余数部分,小数位数

char *buff,*p; //小数部分字符串,指向字符串最后一个空字符的指针

scanf("%d %d %d",m,n,d);

if(n == 0)

{

printf("data input error\r\n");

exit(0);

}

zh = m / n;

yu = (m % n )* 10; //取余*10

buff = (char*) malloc( d + 1 ); //申请空间

ct = 0;

p = buff;

while(ct  d)

{

*p++ = '0' + yu / n;

yu = ( yu % n ) * 10;

ct++;

*p = 0;

}

printf("%d/%d=%d.%s\r\n",m,n,zh,buff);

if(buff)

free(buff);

return 0;

}

一段C语言程序转换为java的写法谢谢!

按照你的要求,C语言程序转换成的Java程序如下:

public class GGG {

 public static String calculateBillMac(String input_str){

  String str_buff_8 ="",str_buff_10 = "",str_return = "";

  long sum8_1=0,sum8_2=0,sum10_1=0,sum10_2=0;//分别存储八进制和十进制不同算法取值的合计

  

  for(int i=0 ;i  input_str.length();i++){//对输入字符串的每一个字节进行循环 

   str_buff_8+=Integer.toOctalString(input_str.charAt(i));//将ASCII码值转换成八进制字符串

   str_buff_10+=Integer.toString(input_str.charAt(i)); //将ASCII码值转换成十进制字符串   

  }

  for(int i=1;i=str_buff_8.length();i++){  

   sum8_1 += (str_buff_8.charAt(i - 1) - '0')*i;  

   sum8_2 += (str_buff_8.charAt(str_buff_8.length()-i) - '0')*i; 

  }

   for(int i=1;i=str_buff_10.length();i++){  

    sum10_1 += (str_buff_10.charAt(i - 1) - '0')*i;  

    sum10_2 += (str_buff_10.charAt(str_buff_10.length() - i) - '0')*i; 

    }

   str_return=""+sum8_1%10+sum8_2%10+sum10_1%10+sum10_2%10;

  return str_return;

 }

 public static void main(String[] args) {

   System.out.println(calculateBillMac("abcdef"));

 }

}

运行结果:

2739

这个数据和C语言用字符串"abcdef"测试的结果相同.

C实现对TXT文件指定行数据提取

//UNIX

#include stdio.h

#include stdlib.h

#include string.h

int main()

{

char *pBuff;

FILE *pf = fopen("data.txt","rb");

fseek(pf,0,SEEK_END);

int len =ftell(pf);

if(len==0)

{

printf("文件是空的\n");

fclose(pf);

return 0;

}

pBuff = (char *)malloc(len);

memset(pBuff,0,len);

fseek(pf,0,SEEK_SET);

fread(pBuff,len,1,pf);

fclose(pf);

char *pBuffLine = (char *)malloc(len);

char *pos;

pos = pBuff;

int i,j=0;

int linelen;

printf("行号:");

int LineNum;

scanf("%d",LineNum);

int num =0;

for(i=0;ilen;i++)

{

if(*pos == 0xA)

{

num++;

linelen = pos -(pBuff+j);

memset(pBuffLine,0,len);

memcpy(pBuffLine,pBuff+j,linelen);

*(pBuffLine+linelen)=0;

if(num == LineNum)

{

printf("%s\n",pBuffLine);

free(pBuff);

free(pBuffLine);

return 0;

}

pos++;

j=pos-pBuff;

continue;

}

pos++;

}

if(j!=len)

{

num++;

linelen =len-j;

memset(pBuffLine,0,len);

memcpy(pBuffLine,pBuff+j,linelen);

*(pBuffLine+linelen)=0;

if(num == LineNum)

{

printf("%s\n",pBuffLine);

free(pBuff);

free(pBuffLine);

return 0;

}

}

free(pBuff);

free(pBuffLine);

return 0;

}

MySQL数据库服务器逐渐变慢分析与解决方法分享

一、检查系统的状态

通过操作系统的一些工具检查系统的状态,比如CPU、内存、交换、磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状态,因为cpu可能正等待IO的完成。除此之外,还应观注那些占用系统资源(cpu、内存)的进程。

1.使用sar来检查操作系统是否存在IO问题

#sar-u210—

即每隔2秒检察一次,共执行20次。

结果示例:

注:在redhat下,%system就是所谓的%wio。

Linux2.4.21-20.ELsmp

(YY075)05/19/2005

10:36:07AMCPU%user%nice%system%idle

10:36:09AMall0.000.000.1399.87

10:36:11AMall0.000.000.00100.00

10:36:13AMall0.250.000.2599.49

10:36:15AMall0.130.000.1399.75

10:36:17AMall0.000.000.00100.00

其中:

%usr指的是用户进程使用的cpu资源的百分比;

%sys指的是系统资源使用cpu资源的百分比;

%wio指的是等待io完成的百分比,这是值得观注的一项;

%idle即空闲的百分比。

如果wio列的值很大,如在35%以上,说明系统的IO存在瓶颈,CPU花费了很大的时间去等待I/O的完成。Idle很小说明系统CPU很忙。像以上的示例,可以看到wio平均值为11,说明I/O没什么特别的问题,而idle值为零,说明cpu已经满负荷运行了。

2.使用vmstat监控内存

cpu资源

[root@mysql1

~]#

vmstat

procs

———–memory———-—swap–

—–io—-–system–

—–cpu——

r

b

swpd

free

buff

cache

si

so

bi

bo

in

cs

us

sy

id

wa

st

72

25428

54712672264

14

43

53

59

1

198

vmstat

的输出那些信息值得关注?

io

bo:

磁盘写的数据量稍大,如果是大文件的写,10M以内基本不用担心,如果是小文件写2M以内基本正常

CPU问题

下面几列需要被察看,以确定cpu是否有问题

Processesinthe

run

queue

(procs

r)

Usertime

(cpu

us)

System

time

(cpu

sy)

Idle

time

(cpu

id)

问题情况:

如果processes

in

run

queue

(procs

r)的数量远大于系统中cpu的数量,将会使系统便慢。

如果这个数量是cpu的4倍的话,说明系统正面临cpu能力短缺,这将使系统运行速度大幅度降低

如果cpu的idle时间经常为0的话,或者系统占用时间(cpu

sy)是用户占用时间(cpu

us)两辈的话,系统面临缺少cpu资源

解决方案

:

解决这些情况,涉及到调整应用程序,使其能更有效的使用cpu,同时增加cpu的能力或数量

②内存问题

主要查看页导入的数值(swap中的si),如果该值比较大就要考虑内存,大概方法如下:

最简单的,加大RAM

减少RAM的需求

3.磁盘IO问题

处理方式:做raid10提高性能

4.网络问题

telnet一下MySQL对外开放的端口,如果不通的话,看看防火墙是否正确设置了。另外,看看MySQL是不是开启了skip-networking的选项,如果开启请关闭。

free命令buff和cache的区别

buff

cache

Buffer:缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据;通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储慢的数据先把数据存放到buffer,达到一定程度存储快的设备再读取buffer的数据,在此期间存储快的设备CPU可搜索以干其他的事情。

Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而

Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。

Buffer:一般是用在写入磁盘的,例如:某个进程要求多个字段被读入,当所有要求的字段被读入之前已经读入的字段会先放到buffer中。 Cache并不是缓存文件的,而是缓存块的(块是I/O读写最小的单元);Cache一般会用在I/O请求上,如果多个进程要访问某个文件,可以把此文件读入Cache中,这样下一个进程获取CPU控制权并访问此文件直接从Cache读取,提高系统性能。

C++ 构造函数和析构函数题目

class CString

{

private:

    char * m_pbuff; //指向字符串的指针

    int m_length;//表示当前字符串的最大允许长度,也就是字符数组的长度

public:

    ~CString();//析构

    CString(); //构造函数1,设置为空字符串,m_length=100

    CString(CString );    //拷贝构造

    CString(char *src); //构造函数2,在考虑了src的长度后初始化当前对象,m_length=src的长度+1

    CString(char ch); //构造函数3,0号元素赋值为ch,m_length=100

    int SetString(char *src); //设置字符串,在考虑了src的长度后设置当前对象,m_length=src的长度+1

    void trim();//  去除字符串最前和最后的空格

    int find(char ch); //查找字符串中的指定字符的第一次出现位置,如果未出现返回-1

    void toLower();//字符串转小写

    void toUpper();//字符串转大写

    void deletechar(char ch); // 删除其中的指定字符

    void show();

private:

    void freeBuff();

};

void CString::freeBuff()

{

    if(m_pbuff != 0)

    {

        delete []m_pbuff;

        m_pbuff = 0;

    }

}

CString::CString()

{

    m_pbuff = new char[100];

    m_length = 100;

    m_pbuff[0] = 0;

}

CString::CString(CString ref)

{

    if(ref.m_length  0)

    {

        m_length = ref.m_length;

        m_pbuff = new char[m_length];

        memcpy(m_pbuff,ref.m_pbuff,m_length);

    }

    else

    {

        m_pbuff = 0;

        m_length = 0;

    }

}

CString::CString(char *src)

{

    m_length = src?strlen(src)+1:0;

    if(m_length == 0)

        m_pbuff = 0;

    else

    {

        m_pbuff = new char[m_length];

        memcpy(m_pbuff,src,m_length);

    }

}

CString::CString(char ch)

{

    m_length = 100;

    m_pbuff = new char[m_length];

    m_pbuff[0] = ch;

    m_pbuff[1] = 0;

}

int CString::SetString(char *src)

{

    freeBuff();

    

    m_length = src?strlen(src)+1:0;

    if(m_length == 0)

        m_pbuff = 0;

    else

    {

        m_pbuff = new char[m_length];

        memcpy(m_pbuff,src,m_length);

    }

}

void CString::trim()

{

    int i,j=m_length;

    for(i=0;im_length;++i)

    {

        if(m_pbuff[i] != ' ' || m_pbuff[i] == 0)

            break;

    }

    

    //跳过\0字符后面的所有字符

    while(m_pbuff[--j] != 0);

    

    while(j0  m_pbuff[j-1] == ' ')

        --j;

    m_pbuff[j] = 0;

    

    m_length = j-i;

    if(m_length == 0)

        freeBuff();

    else

    {

        m_length += 1;

        char *p = new char[m_length];

        memcpy(p,m_pbuff+i,m_length);

        

        freeBuff();

        m_pbuff = p;

    }

}

int CString::find(char ch)

{

    for(int i=0;im_length;++i)

    {

        if(m_pbuff[i] == 0)

            return -1;

        if(m_pbuff[i] == ch)

            return i;

    }

    

    return -1;

}

void CString::toLower()

{

    for(int i=0;im_length  m_pbuff[i] != 0;++i)

    {

        if(m_pbuff[i] = 'A'  m_pbuff[i] = 'Z')

            m_pbuff += 32;

    }

}

void CString::toUpper()

{

    for(int i=0;im_length  m_pbuff[i] != 0;++i)

    {

        if(m_pbuff[i] = 'a'  m_pbuff[i] = 'z')

            m_pbuff -= 32;

    }

}

void CString::deletechar(char ch)

{

    if(m_length == 0)

        return;

    

    char *p = new char[m_length];

    for(int i=0,j=0;im_length  m_pbuff[i] != 0;++i)

    {

        if(m_pbuff[i] != ch)

            p[j++] = m_pbuff[i];

    }

    

    p[j] = 0;

    freeBuff();

    m_pbuff = p;

}

void CString::show()

{

    if(m_length  0  m_pbuff[0] != 0)

        printf(m_pbuff);

}

以上代码均为NOTEPAD++手敲,请自行测试。

相关推荐

网友评论

  • (*)

最新评论

  • 访客 2022-07-06 04:01:04 回复

    ; //小数部分字符串,指向字符串最后一个空字符的指针 scanf("%d %d %d",m,n,d); if(n == 0) { printf("data inp

    1
  • 访客 2022-07-05 18:34:18 回复

    en(src)+1:0;    if(m_length == 0)        m_pbuff = 0;    else    {        m_pbuff = new char[m_l

    2
  • 访客 2022-07-05 23:12:07 回复

    :最简单的,加大RAM减少RAM的需求3.磁盘IO问题处理方式:做raid10提高性能4.网络问题telnet一下MySQL对外开放的端口,如果不通的话,看看防火墙是否正确设置了。另外,看看MySQL是不是开启了skip-networking的选项,如果开启请关闭。free命令buff和

    3