int CSample::LoadPattern(const char* strFile) { FILE* fp = fopen(strFile, "r"); char line[32768]; char tmp[32768]; if (fp == NULL) { fprintf(stderr, "can't open file %s for loading samples\n", strFile); exit(1); } //fprintf(stderr, "Loading samples from file ... \n"); while(!feof(fp)) { line[0] = 0; fgets(line, 32768, fp); if (strlen(line) < 2) { continue; } CPattern* pPattern = new CPattern(); chompstr(line); memcpy(tmp, line, 32768); char tmpbuffer[512]; char* pbuffer = tmp; int iColumn = count_column(line, ','); pbuffer = getnextstring(pbuffer, tmpbuffer, ','); pPattern->m_original = FindSoS(tmpbuffer); for (int k = 0; k < iColumn - 1; k ++) { pbuffer = getnextstring(pbuffer, tmpbuffer, ','); CSetOfSeq* pSS = FindSoS(tmpbuffer); // fprintf(stderr, " %s, %d, %d ", tmpbuffer,pSS->m_iShapeID, pSS->m_iClassID); pPattern->m_vShapeClass[pSS->m_iClassID].push_back(pSS); } m_vPatterns.push_back(pPattern); } fclose(fp); fprintf(stderr, " done! %d patterns loaded\n", (int)m_vPatterns.size()); m_vActive.clear(); for (int i = 0; i < (int) m_vPatterns.size(); i ++) { m_vActive.push_back(1); } return (int) m_vPatterns.size(); }
int CSample::LoadShape(const char* strFile) { FILE* fp = fopen(strFile, "r"); char line[32768]; char tmp[32768]; if (fp == NULL) { fprintf(stderr, "can't open file %s for loading samples\n", strFile); exit(1); } fprintf(stderr, "Loading shapes from file %s ... \n", strFile); while(!feof(fp)) { line[0] = 0; fgets(line, 32768, fp); if (strlen(line) < 2) { continue; } chompstr(line); memcpy(tmp, line, 32768); char tmpbuffer[512]; char* pbuffer = tmp; pbuffer = getnextstring(pbuffer, tmpbuffer, ','); CSetOfSeq* pSS = LoadSoS(tmpbuffer); char* str = new char[strlen(tmpbuffer) + 2]; strcpy(str, tmpbuffer); m_vFileNames.push_back(str); pbuffer = getnextstring(pbuffer, tmpbuffer, ','); pSS->m_iShapeID = atoi(tmpbuffer); pbuffer = getnextstring(pbuffer, tmpbuffer, ','); pSS->m_iClassID = atoi(tmpbuffer); // fprintf(stderr, " %s, %d %d\n", str, pSS->m_iShapeID, pSS->m_iClassID); m_vSS.push_back(pSS); } fclose(fp); fprintf(stderr, " done! %d shapes loaded\n", int(m_vSS.size())); return (int) m_vSS.size(); }
int OSConfigure::countxpath ( std::string path ) { int counter = 0; openxpath ( path ); std::string res; while ( getnextstring ( res ) ) { counter++; } return counter; }