コード例 #1
0
ファイル: Connect.cpp プロジェクト: pengatseu/robocup
//-------------------------------------  接受消息包----------------
bool Connection::recvMsg()
{
	ofstream ofile;
        ofile.open("/home/peng/desktop/log.txt");
	bzero(rcvbuffer,buffer_size);
	if ((recv_size = recv(conn_sock, rcvbuffer, buffer_size, 0)) == -1)
	{
		perror("receive data");
		exit(1);
	}

	memmove(buffer+offset,rcvbuffer,recv_size);
	
	for (int i=0;i<recv_size;i++)
	{
		if (rcvbuffer[i]==0)
		{
			rcvbuffer[i]=0x20;
		}
	
		//ofile1<<rcvbuffer[i];
		
	}
	string stemp(rcvbuffer);
	ofile1 << stemp << endl <<endl<<endl;
	ofile<<stemp<<endl;
	ofile.close();
	return true;

}
コード例 #2
0
ファイル: threadjoueurs.cpp プロジェクト: Sassinak/cll12-Pong
void ThreadJoueurs::RXInfosFmJoueurs(QByteArray baRXInfos)
{
    //decode rx byte array
    QString stemp(baRXInfos);
    QStringList sltemp = stemp.split('.');
    int ttemp[3];

    for (int i=0;i<sltemp.size()-1;i++)
        ttemp[i]=sltemp.at(i).toInt();

    memcpy(m_rxInfos,ttemp,sizeof(ttemp));

    emit siInfosToServeur(m_rxInfos,3);
}
コード例 #3
0
ファイル: main.cpp プロジェクト: qlife/more--
void
readFile(const char* fileName,
         std::list<std::string>& lines,
         std::vector< std::list<std::string>::const_iterator >& pageHdrs,
         const int maxWidth,
         const int maxHeight,
         int* nlines)
{
    FILE *fp = NULL;
    char *buf = new char[ 4096 ];
    int nbytes = 0, cnrt_lines = 0;

    lines.clear();
    pageHdrs.clear();

    if ( NULL == (fp = fopen( fileName, "r" )) )
    {
        ERR_MSG( "Open File %s failed.\n", fileName );
        exit(-1);
    }

    while( 0 < (nbytes = fread( (void*) buf, sizeof(char), 4096, fp )))
    {
        int K, ptr = 0;

        for ( K = 0; K < nbytes; ++K )
        {
            if ( '\n' == buf[K] || maxWidth == ( K - ptr + 1 ) )
            {
                std::string stemp( &(buf[ptr]), (K - ptr + 1) );
                lines.push_back( stemp );

                if ( 0 == ( cnrt_lines % maxHeight ) )
                {
                    std::list<std::string>::const_iterator citer = lines.end();
                    --citer;
                    pageHdrs.push_back( citer );
                }
                cnrt_lines ++;
                ptr = K + 1;
            }
        }
    }

    if ( NULL != nlines )
        *nlines = cnrt_lines;

    delete [] buf;
}
コード例 #4
0
ファイル: javaWarpper.cpp プロジェクト: han1157/HyperLPR
std::string jstring2str(JNIEnv* env, jstring jstr)
{
    char*   rtn   =   NULL;
    jclass   clsstring   =   env->FindClass("java/lang/String");
    jstring   strencode   =   env->NewStringUTF("GB2312");
    jmethodID   mid   =   env->GetMethodID(clsstring,   "getBytes",   "(Ljava/lang/String;)[B");
    jbyteArray   barr=   (jbyteArray)env->CallObjectMethod(jstr,mid,strencode);
    jsize   alen   =   env->GetArrayLength(barr);
    jbyte*   ba   =   env->GetByteArrayElements(barr,JNI_FALSE);
    if(alen   >   0)
    {
        rtn   =   (char*)malloc(alen+1);
        memcpy(rtn,ba,alen);
        rtn[alen]=0;
    }
    env->ReleaseByteArrayElements(barr,ba,0);
    std::string stemp(rtn);
    free(rtn);
    return   stemp;
}
string   jstringTostring(JNIEnv* env, jstring jstr)  
{  
    char* rtn = NULL;  
    jclass clsstring   =   env->FindClass("java/lang/String");   
    //jstring strencode   =   env->NewStringUTF("GB2312");  
    jstring strencode = (env)->NewStringUTF("UTF8"); 
    jmethodID mid   =   env->GetMethodID(clsstring,   "getBytes",   "(Ljava/lang/String;)[B");   
    jbyteArray barr=   (jbyteArray)env->CallObjectMethod(jstr,mid,strencode);  
    jsize alen   =   env->GetArrayLength(barr);  
    jbyte* ba   =   env->GetByteArrayElements(barr,JNI_FALSE);  
    if(alen>0)  
    {  
        rtn = (char*)malloc(alen+1);         //new   char[alen+1];  
        memcpy(rtn,ba,alen);  
        rtn[alen]=0;  
        DEBUGINFO("in %s: translate to %s\n", __func__, rtn);
    }  
    env->ReleaseByteArrayElements(barr,ba,0);  
    string stemp(rtn);
    free(rtn);
    return   stemp;  
} 
コード例 #6
0
ファイル: swalign.cpp プロジェクト: taoliu/SAPPER
/* reverse a string in place, return str */
static void reverse(string &str) {
  string stemp(str);
  str.clear();
  for(int i=stemp.size()-1;i>=0;i--) str.push_back(stemp[i]);
}