Back to BeeGuid Source

int scanForBeesUsingGen(int numberOfValue, int nNumberOfGenInTable)
{
    char choosedTypeOfGen[75] = "";
    int nNumberOfBeeWithChoosenGen = 1;
    strncpy_s(choosedTypeOfGen, msValueGen[numberOfValue].c_str(), msValueGen[numberOfValue].length());
    wchar_t *wtext;
    wtext = L"Database\\BeesGeneticCards\\*.txt";
    LPWSTR kDir = wtext;
    WIN32_FIND_DATA beeFileData;
    HANDLE f;
    f = FindFirstFile(kDir, &beeFileData);
    if (f != INVALID_HANDLE_VALUE)
    do
    {
        WCHAR *beeFileName = beeFileData.cFileName;
        char beeFileName2[255];
        //Converts wchar into char *
        char DefChar = ' ';
        WideCharToMultiByte(CP_ACP, 0, beeFileName, -1, beeFileName2, 260, &DefChar, NULL);
        int fileNameLen;
        fileNameLen = strlen(beeFileName2) - 4;
        char fileName[255];
        strncpy_s(fileName, beeFileName2, fileNameLen);
        string sFiles = "Database\\BeesGeneticCards\\";
        sFiles = sFiles + beeFileName2;
        ifstream in(sFiles);
        char nameOfBee[75];
        string nameOfBee2;
        for (int i = 1; i <= nNumberOfGenInTable; i++)
        {
            in.getline(nameOfBee, 75);
            int endChar = msValueGen[numberOfValue].length();
            nameOfBee[endChar] = '\0';
            choosedTypeOfGen[endChar] = '\0';
            bool iFoundRightLine = true;
            for (int g = 1; g <= (endChar--); g++)
            {
                if (nameOfBee[g] == choosedTypeOfGen[g]) {}
                else { iFoundRightLine = false; }
            }
            if ((i == nNumberOfGenInTable) & (iFoundRightLine == true))
            {
                WCHAR *msBeesWithChoosenGenPre = beeFileData.cFileName;
                //Converts WCHAR * into string
                char msBeesWithChoosenGenPre2[255];
                char DefChar = ' ';
                WideCharToMultiByte(CP_ACP, 0, msBeesWithChoosenGenPre, -1, msBeesWithChoosenGenPre2, 260, &DefChar, NULL);
                msBeeWithChosenGen[nNumberOfBeeWithChoosenGen] = msBeesWithChoosenGenPre2;
                nNumberOfBeeWithChoosenGen++;
            }
        }
        in.close();
    } while (FindNextFile(f, &beeFileData));
    FindClose(f);
    nNumberOfBeeWithChoosenGen--;
    for (int i = 1; i <= nNumberOfBeeWithChoosenGen; i++)
    {
        char tempElement[50];
        strncpy_s(tempElement, msBeeWithChosenGen[i].c_str(), msBeeWithChosenGen[i].length() - 4);
        msBeeWithChosenGen[i] = tempElement;
    }
    return nNumberOfBeeWithChoosenGen;
}

Опрос

Оцените мой сайт
Всего ответов: 55

Статистика



Онлайн всего: 1
Гостей: 1
Пользователей: 0



Radio