- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试读取一些 .txt 文件,然后对文件中的字符串进行一些标记化操作,然后将它们写入另一个文件。但是在我的文件写入之后,其中一些是用西方(ISO-8859-15)编码编写的;
Ãallı Neyzen Tevfik MÃŒzeyyen Senar MÃŒzeyyen Senar Ãallı öteden dosttular eÅi ErcÃŒment IÅıl Ãallı arkadaÅ idiler Hele annesi 1943 vefat ettiÄinde...
但其中一些在阅读时采用常规范式。(当前语言环境(UTF-8))。我希望它们全部采用相同格式。(UTF-8)
我的代码是这样的:
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <sstream>
#include <complearn.h>
#include <stdlib.h>
#include <locale.h>
#include <locale>
#include <clocale>
using namespace std;
int main(int argc, char *argv[])
{
int fileNum=20;//Number of file wanted to clean
string fileDir="HU";
string inputFile=fileDir+"/"+fileDir;//Directory and name of file
string outputFile=fileDir+"/Out/out";//output/cleaned file name
string word1,word2,fword;
string frequencyFile="frequencyList.txt";
ifstream fin2(frequencyFile.c_str(),ios::in);
locale utf8_locale(locale(), new codecvt_byname<wchar_t, char, mbstate_t> ("en_US.UTF-8"));
locale::global( std::locale("en_US.UTF8") );
setlocale(LC_ALL, "");
for (int i=1;i<=fileNum;i++){
inputFile+=to_string(i)+".txt";
outputFile+=to_string(i)+".txt";
ifstream fin1(inputFile.c_str(),ios::in);
ofstream finNew(outputFile.c_str(),ios::out|ios_base::binary);
finNew.imbue(utf8_locale);
if(fin1.is_open())
{
if(fin2.is_open())
{
while(fin1 >> word1)
{
char *token=NULL;//(char*) malloc(sizeof(20*sizeof(int)));
char *dup = strdup(word1.c_str());
token = strtok(dup, "(&+.,!?*)...;':-)\"\"’“\\/\'");//extract from punctuations
if(token==nullptr)
token=" ";
while(fin2 >> word2)
{
if(strcmp(token,word2.c_str())==0)//if token is in frequencyfile pass
break;
}
if(strcmp(token,word2.c_str())!= 0&&token!=nullptr)
{
finNew<< string(token) << " ";//write to my new file
}
fin2.clear();
fin2.seekg( 0, std::ios::beg );
}//fin1 loop
}//fin2.close()
}//fin1.close()
inputFile=fileDir+"/"+fileDir;//Directory and name of file
outputFile=fileDir+"/Out/out";
}//end of for
return(0);
}
我试图改变语言环境,希望能有所改变,但什么都没有改变。请帮助我导致此问题的代码有什么问题。
PS:顺便说一句,我在 linux mint/maya 平台上,我正在像在代码块中一样编译我的代码。
例如,这是我的输入文件之一:
Türkiye’nin ‘U’ dönüşü
ABD’nin ana akım medyasında süreç boyunca yayınlanan Türkiye’yi IŞİD’e karşı duyarsız kalmakla suçlayan yorumlar dikkat çekici olsa da Washington’un başından beri Ankara’dan istediği şeyler PYD’nin talepleriyle örtüşüyor değildi. Haddizatında ABD’nin Rojava’yı PYD’ye bırakmayı tercih edeceğini düşünmek de mantıksız olurdu. Hem Türkiye’nin hem Irak’taki Kürdistan Özerk Yönetiminin arzulamadığı bir formülü satın alması mümkün değildi Obama yönetiminin. Dolayısıyla Ankara’yla sürdürülen müzakereler neticesinde PYD’nin de hayır diyemeyeceği bir formül oluşturdular.
“Kobani bizim için stratejik öncelik değil” diyerek çok önceden mesajını veren ABD bir süre sonra Kobani’yi kuşatan IŞİD birliklerini bombalamaya başladı. Ancak en son bombardımandan sonra“Bombalıyoruz ama Kobani yine de düşebilir” şeklinde ilginç bir açıklama yapmaktan geri durmadı. Türkiye tarafında ise daha önce Cumhurbaşkanı Erdoğan Kobani için “düştü düşüyor” demişti.
Aslında bütün bunlar olup biterken Kobani’nin çok yakınlarında bir yerde, Irak’ın Dohuk şehrinde geniş bir müzakere masası kurulmuş bulunuyordu. Masanın bir yanında Barzani yanlısı Rojavalı gruplar, diğer yanında ise PKK’lılar oturuyordu. Bundan on gün önce başlayan müzakerelerde Rojava’nın “kurtarılmasından sonra” yönetimde hangi grubun ne kadar ağırlığının olacağı konusu ele alındı. Aslında PYD “Rojava Devrimi”yle yönetimi de facto tek başına eline almış, Barzani yanlısı grupları da ya etkisiz hale getirmiş ya da sürüp çıkarmıştı. Şimdiyse şartlar değişmiş, Kobani’nin Barzani’nin müdahalesiyle kurtarılması gündeme gelmiş olduğu için yönetim gücünün yeniden paylaşılması gündeme gelmişti mecburen.
PYD’liler şimdi “Peşmergenin geleceğinden haberimiz yok. Buna gerek de yok, silah göndersinler yeter” diye açıklamalar yapıyorlar ama aslında geçen Pazar günü yapılan görüşmelerde belli ölçüde anlaşma sağlandı ve ABD bunun üzerine operasyon için düğmeye bastı zaten. PYD Kobani’nin Barzani tarafından kurtarılmasını kabul etmek zorundaydı. Bunu kabul etmezse Kobani IŞİD’in eline geçecek ama nasıl olsa bu küçük şehir daha sonra Barzani tarafından IŞİD’in elinden yine kurtarılacaktı!
Diğer yandan Irak’taki IŞİD ilerlemesinin tehdidi altında bulunan başkenti Erbil’i bile nasıl koruyacağını bilemeyen Barzani yönetiminin Suriye’deki soydaşları için böylesine bir tehlikeli maceraya atılması için ciddi bir güvenceye ihtiyaç duyacağı da muhakkak. Washington’un bu güvenceyi verdiği tahmin edilebilir. Aynı şekilde güney sınırı boyunca uzanan bir bölgenin ne IŞİD’in eline geçmesini ne de PKK’nın Suriye kolunun hâkimiyeti altında olmasını istemeyen Türkiye’nin söz konusu bölgenin bunlar yerine son zamanlarda adeta stratejik çıkar ortaklığı yaptığı Barzani yönetiminin kontrolüne girmesini tercih edeceği de tahmin edilebilir. Cumhurbaşkanı Erdoğan’ın dünkü açıklamasından öğrendik ki “peşmerge formülü” zaten Türkiye’nin önerisi olarak gündeme gelmiş.
Daha önce “PKK’nın Suriye koluna silah gönderilmesini kabul edemeyiz” deyip de şimdi bunu kabullenmek bir tutarsızlık oluşturmuyor mu peki? Bir “u dönüşü” söz konusu değil mi? Bana sorarsanız bir u dönüşü yok burada, belki bir şerit değiştirme olabilir, o kadar! Çünkü esas olan Rojava adı verilen bölgenin ne IŞİD’in ne de PKK’nın kontrolünde olmasına rıza göstermemek. Barzani formülü bunu sağlıyor sonuçta. İkincisi PKK’nın Suriye koluna ağır silahlar verilmesini milli güvenliği bakımından sakıncalı bulan Türkiye için söz konusu silahların peşmergenin elinde olması ise tercih edilebilir bir durum. Zaten ilk sevkiyatta hafif silahların gönderildiği açıklandı. Bunların - zaten- Barzani yönetimine ait silahlar olduğu da vurgulandı. Yani ABD kimseye silah vermiş olmuyor. Barzani güçlerinin ellerindeki silahları PKK’ya bırakacakları da düşünülemeyeceğine göre demek ki Türkiye’nin çekincelerini giderecek şekilde bir operasyon kotarılmış bulunuyor. Üstelik Türkiye’nin isteyebileceği en uygun formül uygulamaya sokulmuş bulunuyor. Bunlara bakıldığında Türkiye’ye rağmen yapılan bir operasyondan veya Türkiye’nin mecburen u dönüşü yapmasından söz etmek hiç mantıklı görünmüyor.
这是在它成为输出文件之后,当我尝试在我的文本编辑器 (gedit) 中通过 UTF-8 编码打开它时:
\98U dönüşü akım medyasında süreç yayınlanan IŞİD duyarsız kalmakla suçlayan yorumlar çekici Washington başından PYD talepleriyle örtüşüyor değildi Haddizatında Rojava PYD bırakmayı edeceğini düşünmek mantıksız olurdu Hem Kürdistan Özerk Yönetiminin arzulamadığı formülü alması değildi Obama yönetiminin sürdürülen müzakereler neticesinde PYD hayır diyemeyeceği formül oluşturdular Kobani stratejik öncelik önceden mesajını Kobani kuşatan IŞİD birliklerini bombalamaya bombardımandan Kobani düşebilir yapmaktan durmadı tarafında Kobani düştü düşüyor demişti biterken Kobani yakınlarında Dohuk şehrinde müzakere masası kurulmuş bulunuyordu Masanın Barzani yanlısı Rojavalı gruplar PKK oturuyordu Bundan müzakerelerde Rojava kurtarılmasından yönetimde grubun ağırlığının olacağı alındı PYD Rojava Devrimi facto eline almış Barzani yanlısı grupları etkisiz getirmiş sürüp çıkarmıştı Şimdiyse şartlar değişmiş Kobani Barzani müdahalesiyle kurtarılması gelmiş gücünün paylaşılması gelmişti mecburen PYD Peşmergenin geleceğinden haberimiz silah göndersinler yeter açıklamalar yapıyorlar Pazar görüşmelerde anlaşma sağlandı operasyon düğmeye bastı PYD Kobani Barzani kurtarılmasını zorundaydı etmezse Kobani IŞİD eline geçecek şehir Barzani IŞİD elinden kurtarılacaktı IŞİD ilerlemesinin tehdidi başkenti Erbil koruyacağını bilemeyen Barzani yönetiminin Suriye soydaşları böylesine tehlikeli maceraya atılması güvenceye duyacağı muhakkak Washington güvenceyi edilebilir güney sınırı uzanan bölgenin IŞİD eline geçmesini PKK Suriye kolunun hâkimiyeti olmasını istemeyen bölgenin zamanlarda adeta stratejik çıkar ortaklığı Barzani yönetiminin kontrolüne gir
mesini edeceği edilebilir dünkü açıklamasından öğrendik peşmerge formülü önerisi gelmiş PKK Suriye koluna silah gönderilmesini edemeyiz deyip kabullenmek tutarsızlık oluşturmuyor peki u dönüşü Bana sorarsanız u dönüşü şerit değiştirme esas Rojava bölgenin IŞİD PKK kontrolünde rıza göstermemek Barzani formülü sağlıyor sonuçta İkincisi PKK Suriye koluna silahlar verilmesini güvenliği bakımından sakıncalı bulan silahların peşmergenin elinde edilebilir sevkiyatta hafif silahların gönderildiği açıklandı Bunların Barzani yönetimine silahlar vurgulandı kimseye silah vermiş olmuyor Barzani güçlerinin ellerindeki silahları PKK bırakacakları düşünülemeyeceğine çekincelerini giderecek operasyon kotarılmış \C3 isteyebileceği formül uygulamaya sokulmuş Bunlara bakıldığında operasyondan mecburen u dönüşü yapmasından mantıklı görünmüyor
如您所见,文件中有\98 和\C3 字符。如果我先打开文本编辑器,然后打开未自动检测到的 utf-8 编码文件,我可以看到这样的文件。
最佳答案
文本文件中没有指定编码。无论你写什么字节,在那里,无论其他应用程序将使用什么,他们都会这样解释它。该文件显然是用 UTF-8 编写的,只是您打开它的应用程序错误地将其检测为 ISO 8859-15。
关于c++ - 如何将我的 char* 指针写入始终为 utf8 格式的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28455655/
有没有办法使用 Clojure format(基于 java.util.Formatter)或 cl-format(基于 Common Lisp 的format) 以编程方式设置空格填充?如果您事先知
我正在尝试创建一个用户实体以及数据/文件(pdf格式)。上传并保存到数据库很好,但是当我让用户进入 postman 时尝试发送获取请求方法,然后在数据字段中显示一些糟糕的数据,而且我无法在数据库中看到
我必须将值为 {"STX","ETX"} 的普通字符串数组转换为十六进制值,并且我应该根据 http://www.asciitable.com/ 得到 {2,3} . 最佳答案 听起来你想要一个 Ma
我想格式化我的代码,但不确定哪种格式类型最适合我的项目需要。 我发现仅对于 dart 和 flutter 项目(我都有),有不止一个选项可用于格式化编程语言/框架中预先构建的代码。 Dart : da
我已经尝试了多个代码,例如这样 Sub DateFixer() Application.ScreenUpdating = False Application.Calculation =
SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.add("wt","csv"); server.query(query)
我有一个包含多个字符串的数据库,我从查询中获取了这些记录,并且我在 QString 中收到了这种格式的数据: "Mon, 13 Nov 2017 09:48:45 +0000" 所以,我需要根据文化来
我有一个 Delphi 2007 DBGrid,我想让用户以更新的 Excel 格式 (OOXML) 保存它,但我的标准是用户不需要安装 Excel。有没有人知道任何已经这样做的组件?是的,我已经搜索
我正在我们的普通 html 站点旁边创建一个移动站点。使用 rails 3.1。移动站点在子域 m.site.com 中访问。 我已经定义了移动格式(Mime::Type.register_alias
我正在尝试使用 xmlstarlet 格式化 xml 文件,但我不想创建新的 xml 文件。 我试过了 xmlstarlet fo --inplace --indent-tab --omit-decl
我在 A 列中有一个带有文本的电子表格。 例如 A1=MY TEXT1 A2=MY TEXT2 A3=MY TEXT3 A4=MY TEXT4 A5=MY TEXT5 我想在文本的前后添加撇号 结果是
我想做一些源代码转换(自动导入列表清理),我想保留注释和格式。我听说过一些关于解析器这样做的事情,我认为是 ghc 解析器。 看起来我可以通过从文件中提取内容来使用 hs-src-exts Langu
我在 Excel 中工作,我想根据另一张表中的列表找出一张表中是否有匹配项。 我已将值粘贴到列表中,并希望从另一张表中返回它们的相应值。包含字母和数字的单元格可以正常工作(例如:D5765000),但
我有一个 DurationField在我的模型中定义为 day0 = models.DurationField('Duration for Monday', default=datetime.time
我正在为我的应用程序开发 WMI 查询。它需要为给定的 VID/PID 找到分配的虚拟 COM 端口。使用 WMI Code Creator 我发现...... 命名空间:root\CIMV2 类:W
我试图弄清楚如何使用 NSTextList,但除了 this SO question 之外,在网上几乎没有找到有用的信息。和 the comment in this blog . 使用这个我已经能够创
我要查询all_objects表在哪里last_ddl_time='01 jan 2010'但它拒绝日期格式... 任何机构给我查询的确切格式? 最佳答案 正如 AKF 所说,您应该使用 Trunc除
我试图在我的应用程序中实现聊天功能。我使用了 2 个 JEditorPane。一个用于保存聊天记录,另一个用于将聊天发送到前一个 JEditorPane。 JEditorPane 是 text/h
我在大学里修了一个编译器类(class),内容非常丰富,很有趣,尽管也很多工作。既然给了我们要实现的语言规范,所以我学不到的一件事就是语言设计。我现在正在考虑创建一种有趣的简单玩具语言,以便我可以玩耍
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我是一名优秀的程序员,十分优秀!