宽字符转char字符
字符串从wchar_t转换成char #include <stdlib.h> errno_t wcstombs_s( size_t *pReturnValue, char *mbstr, size_t sizeInBytes, const wchar_t *wcstr, size_t count );
字符串查找函数strstr
char* strstr(char*, const char*);
字符串以字符分割strtok_s
char* strtok_s( char* str, const char* delimiters, char** context );
wchar_t* wcstok_s( wchar_t* str, const wchar_t* delimiters, wchar_t** context );
unsigned char* _mbstok_s( unsigned char* str, const unsigned char* delimiters, char** context );
int IOCsInitialize(WCHAR* curPath)
{
FILE* fr;
char line[1000];
char* str = NULL;
if (fopen_s(&fr, ".\\iocs\\hash-APT-202101-06.txt", "r")) {
printf("Open IOCs File failed,%d\n", GetLastError());
return -1;
}
while (!feof(fr))
{
fgets(line, 1000, fr);
char* p = strstr(line, ";");
if (p != NULL)
{
if(strtok_s(line, ";" ,&str))
{
switch (strlen(line))
{
case 32:
printf("md5");
break;
case 40:
printf("sha1");
break;
case 64:
printf("sha256");
break;
default:
break;
}
}
}
}
printf("%s", line);
fclose(fr);
return 0;
}
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strtok-s-strtok-s-l-wcstok-s-wcstok-s-l-mbstok-s-mbstok-s-l?view=msvc-160
|