lostyazilim

C++ Dosya Okuma (Yardım Lütfen)

6 Mesajlar 1.087 Okunma
lstbozum
wmaraci reklam

Reosta33 Reosta33 WM Aracı Kullanıcı
  • Üyelik 01.07.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Mersin
  • Ad Soyad G** D**
  • Mesajlar 84
  • Beğeniler 7 / 10
  • Ticaret 1, (%100)
Öncelikle Merhaba
C++ dilinde veri yapıları ve algoritmaları ödevim var ancak yapamadığım yerler oldu forum üyelerine danışmak istedim yardımcı olabilecek arkadaşlara şimdiden teşekkür ediyorum.
Ödevde istenen Bir dosya içerisinden veriler okunacak ve yığın şeklinde sıralanıp yeni bir dosyaya yazılacak ancak ben dosyayı okurken karakter hatası alıyorum UTF8 kütüphanesini yükledim ama internette türkçe bir kaynak bulamadım kullanımını bilmiyorum

"evrak","Kelime","frekans"
1,"al gülüm ver gülüm",3
1,"balgümeci",5
1,"beslenme",2
Dosya bu şekilde uzayıp gidiyor sorularım

1)Bu dosyayı UTF8 olarak nasıl okuyabilirim
2)ben bu dosyadaki kelime kısmına göre sıralayacağım dosyayı okurken (,) işaretinden sonrasını oku gibi komutlar varmı?
 

 

http://www.selfsatis.com
wmaraci
reklam

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 691
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)
#include
#include
#include
#include
#include




1 - ReadFile UTF-8

std::wstring UTF8Oku(const char* Dosya)
{
std::wifstream wif(Dosya);
wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8));
std::wstringstream wss;
wss << wif.rdbuf();
return wss.str();
}

Kullanımı --> std::wstring Okunan = UTF8Oku("test.txt");

2 - Split / Explode / Separate

char * Parça = strtok(Yazı, ",");

while (Parça != NULL)
{
printf ("%s\n",Parça );
Parça = strtok (NULL, ",");
}
Reosta33

kişi bu mesajı beğendi.

Reosta33 Reosta33 WM Aracı Kullanıcı
  • Üyelik 01.07.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Mersin
  • Ad Soyad G** D**
  • Mesajlar 84
  • Beğeniler 7 / 10
  • Ticaret 1, (%100)

Jelioxe adlı üyeden alıntı

#include
#include
#include
#include
#include




1 - ReadFile UTF-8

std::wstring UTF8Oku(const char* Dosya)
{
std::wifstream wif(Dosya);
wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8));
std::wstringstream wss;
wss << wif.rdbuf();
return wss.str();
}

Kullanımı --> std::wstring Okunan = UTF8Oku("test.txt");

2 - Split / Explode / Separate

char * Parça = strtok(Yazı, ",");

while (Parça != NULL)
{
printf ("%s\n",Parça );
Parça = strtok (NULL, ",");
}




hocam ilginiz için çok teşekkür ederim ben kodları kullandığım zaman
#include kısmında No such file or directory
hatası alıyorum onu silip tekrar derleğimde ise 'UTF8Oku' was not declared in this scope hatası veriyor
kullandığım kod:

#include
#include
#include
#include
#include
#include
#include "utf8.h"



int main(int argc, char** argv) {

std::wstring Okunan = UTF8Oku("vya2016veriler.csv");


return 0;
}

std::wstring UTF8Oku(const char* Dosya)
{
std::wifstream wif(Dosya);
wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8));
std::wstringstream wss;
wss << wif.rdbuf();
return wss.str();
}

utf8'i "https://sourceforge.net/projects/utfcpp/" bu adresten indirip devc++ kütüphanesine ekledim acaba hata nerede olabilir tekrardan teşekkür ederim.
 

 

http://www.selfsatis.com

JumperTech JumperTech Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 02.07.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad B** O**
  • Mesajlar 1705
  • Beğeniler 820 / 523
  • Ticaret 19, (%100)
Arkadaşın gösterdiği birinci kısım utf8.h kodudur.
 

 

wmaraci
wmaraci

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 691
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)
#include
Reosta33

kişi bu mesajı beğendi.

Reosta33 Reosta33 WM Aracı Kullanıcı
  • Üyelik 01.07.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Mersin
  • Ad Soyad G** D**
  • Mesajlar 84
  • Beğeniler 7 / 10
  • Ticaret 1, (%100)

JumperTech adlı üyeden alıntı

Arkadaşın gösterdiği birinci kısım utf8.h kodudur.

hocam kodları utf8.h dosyasının içerisine atınca da std::wifstream wif(Dosya);
kısmında [Error] variable 'std::wifstream wif' has initializer but incomplete type
hatası veriyor.
ne yapmalıyım bu durumda

Ek Olarak:
hocam ne denediysem olmadı sizden ricam açıklayıcı olarak anlatabilir misiniz ne yapmam gerektiğini
 

 

http://www.selfsatis.com
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al