MFC/C++ CFile寫入檔案資料,輸出utf-8的文字。(防止中文亂碼)
需求說明:有時候用CFile寫入檔案的內容會出現中文亂碼問題,這時候就需要把寫入的檔案編碼型別改為utf-8的型別。
程式碼功能:輸出utf-8格式的內容到檔案中
作者:weekdawn
try { //建立mht檔案,並寫入資料 mhtFile.Open(filePath, CFile::modeCreate|CFile::modeWrite); //mhtFile為CFile型別,filePath為檔案路徑CString型別 //-------以下是將Unicode字元轉為utf-8字元,這樣才能正常顯示中文 DWORD dwFileLen = mhtFile.GetLength(); if (0 == dwFileLen) { const unsigned char LeadBytes[] = {0xEF, 0xBB, 0xBF}; mhtFile.Write(LeadBytes,sizeof(LeadBytes)); } int nSrcLen = (int)wcslen(content);//content為要寫入的文字 CStringA utf8String(content); int nBufLen = (nSrcLen+1) * 6; LPSTR buffer = utf8String.GetBufferSetLength(nBufLen); int nLen = AtlUnicodeToUTF8(content, nSrcLen, buffer, nBufLen); //上面的函式AtlUnicodeToUTF8()需標頭檔案:<atlenc.h> //功能:將unicode轉換成utf-8 buffer[nLen] = 0; utf8String.ReleaseBuffer(); mhtFile.SeekToEnd(); //將轉碼後的內容寫入mht檔案 mhtFile.Write(utf8String.GetBuffer(),nLen); mhtFile.Write("/r/n",2); mhtFile.Close(); } catch(CFileException *e) { CString errInfo; errInfo.Format(_T("%s"),e->ReportError()); MessageBox(_T("檔案建立失敗!") + errInfo); }
相關推薦
MFC/C++ CFile寫入檔案資料,輸出utf-8的文字。(防止中文亂碼)
需求說明:有時候用CFile寫入檔案的內容會出現中文亂碼問題,這時候就需要把寫入的檔案編碼型別改為utf-8的型別。 程式碼功能:輸出utf-8格式的內容到檔案中 作者:weekdawn try {
C# 讀取txt檔案資料,StreamReader.BaseStream.Seek()後ReadLine()有錯誤的問題
readerPOSPath.BaseStream.Seek(n, SeekOrigin.Begin); linepos = readerPOSPath.ReadLine();//讀一行 按照上面的方法。Seek到指定位置後,緊接著ReadLine(),得到的結果有Seek之前的資料,也就是
C語言 輸入一個小數,輸出它的立方。輸出保留小數點後的2位數字
c //輸入一個小數,輸出它的立方。輸出保留小數點後的2位數字。 #include <stdio.h> int main(int argc, const char * argv[]) { double i,t; printf("輸入一個小數:\n"); scanf("%lf
windows cmd視窗,輸出UTF-8格式檔案,顯示亂碼
本文來自網路,參考文件見文件末尾 想在windows cmd視窗中檢視utf-8中文,需要先執行以下步驟 chcp 65001 將CMD視窗切換成UTF-8內碼表 在命令列標題欄上點選右鍵,選擇"屬性"->"字型",將字型修改為True Typ
使用volley請求資料,Gson解析json的時候出現中文亂碼問題
首先來看一下我出現的問題! 遇到的過問題的人,或上網也可以查的到,仔細看,我列印的Log日誌就是解析的資料,出現亂碼了,那說明這個jsonString是獲取到的資料,看後的兩個引數,第一個是.data這個意思應該就資料,而後面的就是轉碼格式,看原始碼就會知道,這個應該是預設
將GBK編碼形式的xml檔案 資料請求轉為utf-8
public String resposeString(String urlStr){ String result = ""; try { URL url = new URL(urlStr); HttpURLConnection httpURLC
JSP-(技巧)Eclipse預設新建檔案設定為適合中文的型別(UTF-8等)——解決中文亂碼問題
JSP-(技巧)Eclipse預設新建檔案設定為適合中文的型別(UTF-8等)——解決中文亂碼問題 開頭先備註一下: UTF-8不容易亂碼; GBK雖然簡體繁體都支援,但容易亂碼。(試過幾次) 問題 每次新建.jsp檔案都是ISO什麼什麼的(此時無法儲存中
C++PrimerPlus學習之輸入,輸出和檔案
流和緩衝區 C++程式把輸入和輸出看作位元組流。輸入時,程式從輸入流中抽取位元組;輸出時,程式將位元組插入到輸出流中。 流充當了程式和流源或流目標之間的橋樑。C++程式只是檢查位元組流,而不需要知道位
C#:開啟 檔案/資料夾選擇框,選取,並獲得路徑名稱
using System; using System.Windows.Forms; //選取檔案,並獲得路徑 private void button1_Click(object sender, EventArgs e) { var f = n
c++ 列印簡單log資訊,輸出內容到某一檔案中
#include<iostream> #include<sstream> #include<fstream> using
R從檔案中讀取資料,輸出檔案
看了幾天的書,終於到這一步了,說實話,用R來做統計,很少有人手動的去輸入那些數字,肯定是從別的地方匯入的,我們用來處理就可以了,所以到這裡才算是真正的入門,前面都是做基礎的練手。 我學習R從《R語言與統計分析》入手,第一個例子,從書上的例子,入手,為大家能夠快速入門。 在F
C程式設計--對檔案的輸入輸出(案例)
第十章 問題一(fputc()函式的使用) 從鍵盤中輸入一些字元,逐個把他們送到磁碟上去,直到使用者輸入一個’#'鍵為止; #include<stdio.h> #include<stdlib.h>//用於 exit(0); int ma
C++讀取txt檔案資料
本次實驗主要目的是實現C++提取txt檔案的資料,txt檔案中的資料為double型。 txt檔案的資料為 1.123456789098 2.123456789098 3.123456789098 4.123456789098 5.123456789098 6.123456789098 7
C primier plus 檔案的輸入/輸出
程式設計練習第十二題,圖形輸出。 本題我用隨機函式rand()產生隨機數,進行檔案的輸入輸出操作。僅供參考。 #include<stdio.h> #include<stdlib.h> #define ROWS 20 #define COLS 30 int main(
C語言 對檔案的輸入輸出
1.檔案標誌: D:\CC\temp\file1.dat(dat代表是資料檔案)分為三段,檔案路徑,檔名,檔案型別 2.檔案緩衝區: ANSI C標準採用緩衝檔案系統處理資料檔案 3.檔案型別指標: 緩衝檔案系統中關鍵的概念是檔案型別指標,每一個被使用的檔案都是
c語言實現輸入成績,輸出評分
方法一: #include <stdio.h> int main() { int a; printf("請輸入成績\n"); scanf("%d",&a); if(a>100||a<0) { printf("輸入錯誤
c語言多檔案程式設計,即main檔案呼叫其他.c檔案的方法
c語言多檔案程式設計,即main檔案呼叫其他.c檔案的方法。 兩種方法的區別就是,gcc編譯時,是否加b.c檔案,不加的話,就在a.c檔案裡面,加#include "b.c" 至於extern 那一句,是否新增,編譯都是可以通過的,只是填加上去,大家都知道了,這個函式在其他地方定義了,這個地方只是呼
Spark Streaming接收kafka資料,輸出到HBase
需求 Kafka + SparkStreaming + SparkSQL + HBase 輸出TOP5的排名結果 排名作為Rowkey,word和count作為Column 實現 建立kafka生產者模擬隨機生產資料 object produ
給定一個百分制的分數,輸出相應的等級。 90分以上 A級 80~89 B級 70~79 C級
90分以上 A級 80~89 B級 70~79 C級 60~69 D級 60分以下 E級
資料預處理:讀取檔案資料,並存為python陣列
檔案的簡單讀取 # 定義一個將檔案中的資料轉化為陣列的類 import numpy as np class DataUtil: # =============================================================================