dimanche 12 janvier 2020

Problem with working with utf-8 text file c++

lately I aproach a problem when trying to get line from file that is utf-8(?) formated. I tried to look on some other problems related to my issue but didn't get answer. I also need to copy that string to clipboard and be able to paste it in .txt file. As you can see I'm begginer so try to make it simple.

#include <windows.h>
#include <cstdio>
#include <conio.h>
#include <time.h>
#include <string>
#include <fstream>
#include <wchar.h>
using namespace std;
wstring lastLine;



void mesparse()
{
    wifstream client("Client.txt");
    if(client.is_open())
    {
        client.seekg(-7,ios_base::end);
        int kloop=0;
        while (kloop<1)
        {
            wchar_t ch;
            client.get(ch);


            if(ch == '\n') {                    
                kloop=1;                                
            }
            else {                                  
                client.seekg(-4,ios_base::cur);         
            }}            
        getline(client,lastLine);  


        client.close();
    }
    else
    {
        cout<<"Unable to open client.txt file.";
    }
}
void toClipboard(std::wstring s){
    const wchar_t* text = s.c_str();
int len = wcslen(text);

HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(wchar_t));
wchar_t* buffer = (wchar_t*)GlobalLock(hMem);
wcscpy_s(buffer, len + 1, text);
GlobalUnlock(hMem);

OpenClipboard(NULL);
EmptyClipboard();
SetClipboardData(CF_UNICODETEXT, hMem);
CloseClipboard();
}

int main()
{

mesparse();
toClipboard(lastLine);
wcout<<lastLine<<endl;

}

What I'm trying to copy:

йцукaеёśнгшщㅂхфывапрㅊджэячсмитъбюㅗ
йцукaеёśнгшщㅂхфывапрㅊджэя
йцукaеёśнгшщㅂхфывапрㅊ
йцукaеёśнгшщㅂхфыва

Aucun commentaire:

Enregistrer un commentaire