37 lines
		
	
	
		
			960 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			960 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| 
								 | 
							
								#include "pch.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <iostream>
							 | 
						||
| 
								 | 
							
								#include <fstream>
							 | 
						||
| 
								 | 
							
								#include <string>
							 | 
						||
| 
								 | 
							
								#include <cwctype>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void trim(std::wstring& str) {
							 | 
						||
| 
								 | 
							
								    str.erase(str.begin(), std::find_if(str.begin(), str.end(), [](wchar_t ch) {
							 | 
						||
| 
								 | 
							
								        return !std::iswspace(ch);
							 | 
						||
| 
								 | 
							
								        }));
							 | 
						||
| 
								 | 
							
								    str.erase(std::find_if(str.rbegin(), str.rend(), [](wchar_t ch) {
							 | 
						||
| 
								 | 
							
								        return !std::iswspace(ch);
							 | 
						||
| 
								 | 
							
								        }).base(), str.end());
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								std::wstring ReadConfig(const std::wstring& filename, const std::wstring& key)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    std::wstring configValue;
							 | 
						||
| 
								 | 
							
								    std::wstring line;
							 | 
						||
| 
								 | 
							
								    std::wifstream file(filename);
							 | 
						||
| 
								 | 
							
								    while (std::getline(file, line)) {
							 | 
						||
| 
								 | 
							
								        trim(line);
							 | 
						||
| 
								 | 
							
								        if (line.find(key) == 0) {
							 | 
						||
| 
								 | 
							
								            std::size_t position = line.find(L"=", key.size());
							 | 
						||
| 
								 | 
							
								            if (position != std::string::npos) {
							 | 
						||
| 
								 | 
							
								                configValue = line.substr(position + 1);
							 | 
						||
| 
								 | 
							
								                trim(configValue);
							 | 
						||
| 
								 | 
							
								                break;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    file.close();
							 | 
						||
| 
								 | 
							
								    return configValue;
							 | 
						||
| 
								 | 
							
								}
							 |