Its a SOLUTION. Below code converts exported phone contacts in CSV format
into VCF format to port it on another mobiles/applications [on...
#include <windows.h>
#include <fstream>
using namespace std;
void main()
{
HANDLE hFile = CreateFile(L"c:\\input.txt", GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, NULL, NULL);
ofstream ofile;
ofile.open(L"c:\\output.txt");
if (hFile != INVALID_HANDLE_VALUE)
{
DWORD dwFileSize = GetFileSize(hFile, NULL);
if (dwFileSize)
{
CHAR *szBuff = new CHAR[dwFileSize], szTemp[MAX_PATH]={0};
ZeroMemory(szBuff, dwFileSize);
DWORD dwReadWrittenBytes=0, dwLastIndex=0;
ReadFile(hFile, szBuff, dwFileSize, &dwReadWrittenBytes, NULL);
for(DWORD dwCnt=0; dwCnt<dwFileSize; dwCnt++)
{
if(szBuff[dwCnt]==',')
{
ZeroMemory(szTemp, MAX_PATH);
memcpy(szTemp, szBuff+dwLastIndex, dwCnt-dwLastIndex);
dwCnt+=1; dwLastIndex=dwCnt;
ofile << "BEGIN:VCARD\nVERSION:3.0\nN:;" << szTemp <<
";;;\n" << "FN:" << szTemp << "\nTEL:";
}
if(szBuff[dwCnt]=='\n')
{
ZeroMemory(szTemp, MAX_PATH);
memcpy(szTemp, szBuff+dwLastIndex, dwCnt-dwLastIndex-1);
dwLastIndex=dwCnt+1;
ofile << szTemp << "\nEND:VCARD\n";
}
}
delete []szBuff;
}
}
ofile.close();
}
No comments:
Post a Comment