我用 fp = fopen(fileName, "w");
但得到的文件编码格式不是 UTF-8 , 在写之前如何设置??
14 个解决方案
#1
你用的什么系统,如果你用的是linux系统的话,可以调用iconv函数完成内码的转换。然后再写文件。
#2
系统是 WINDOWS XP
能给点代码吗?具体点的
能给点代码吗?具体点的
#3
写文件的时候 写入 const char * 串 ....
在读取的时候进行判断读取的内容和长度 ....
在读取的时候进行判断读取的内容和长度 ....
#4
在读取的时候需要多做一些工作进行判断一下,
防止读取半个字符 ....
防止读取半个字符 ....
#5
文件都是按照字节从物理设备读写的,处理编码格式一般在你读入或写前的内存缓冲区内进行
#6
我是要用UTF-8格式写入进文件。
怎么在写入前判断,能给点代码参考吗?
怎么在写入前判断,能给点代码参考吗?
#7
char mulStr[6] = "hello";
WCHAR wdStr[12];
MultiByteToWideChar(CP_UTF8,0,mulStr,5,wdStr,10);
WCHAR wdStr[12];
MultiByteToWideChar(CP_UTF8,0,mulStr,5,wdStr,10);
#8
学习
#9
powersuite(套套)
char mulStr[6] = "hello";
WCHAR wdStr[12];
MultiByteToWideChar(CP_UTF8,0,mulStr,5,wdStr,10);
这些要包含哪个头文件?
MultiByteToWideChar()的参数代表什么?
char mulStr[6] = "hello";
WCHAR wdStr[12];
MultiByteToWideChar(CP_UTF8,0,mulStr,5,wdStr,10);
这些要包含哪个头文件?
MultiByteToWideChar()的参数代表什么?
#10
msdn搜索一下MultiByteToWideChar帮助,有说明,这种转换我也没实际用过,还不知道行不行,你试一试看
#11
第一步:包含头文件
#include "comdef.h"
第二步:
char *str1="了";
_bstr_t str=str1;
WCHAR *str2=str;
第三步:str2就是你要的Unicode
#include "comdef.h"
第二步:
char *str1="了";
_bstr_t str=str1;
WCHAR *str2=str;
第三步:str2就是你要的Unicode
#12
楼上:
C 里好象不包括 #include "comdef.h" 吧,我用了会提示如下:
c:\program files\microsoft visual studio\vc98\include\comdef.h(17) : fatal error C1189: #error : Native Compiler support only available in C++ compiler
Error executing cl.exe.
C 里好象不包括 #include "comdef.h" 吧,我用了会提示如下:
c:\program files\microsoft visual studio\vc98\include\comdef.h(17) : fatal error C1189: #error : Native Compiler support only available in C++ compiler
Error executing cl.exe.
#13
是否写成 utf8 与你写入时有关,与打开文件时无关。
首先需要搞清楚,你所说的要写入的 "字符串" 是 char[] 还是 wchar_t[]
如果你现有 char[],那么要看你这个 char[] 是不是 utf8 格式,否则需要进行转码
如果你现有 wchar_t[],那么,可以使用
setlocale(".utf8")
wprintf()
的方法来写入,或者转化成 utf8 的 char[] 来写入。
如果大家说得搂主云里雾里的,那么请搂主先看一篇文章:(推荐)
http://www.regexlab.com/zh/encoding.htm
首先需要搞清楚,你所说的要写入的 "字符串" 是 char[] 还是 wchar_t[]
如果你现有 char[],那么要看你这个 char[] 是不是 utf8 格式,否则需要进行转码
如果你现有 wchar_t[],那么,可以使用
setlocale(".utf8")
wprintf()
的方法来写入,或者转化成 utf8 的 char[] 来写入。
如果大家说得搂主云里雾里的,那么请搂主先看一篇文章:(推荐)
http://www.regexlab.com/zh/encoding.htm
#14
学习一下
#1
你用的什么系统,如果你用的是linux系统的话,可以调用iconv函数完成内码的转换。然后再写文件。
#2
系统是 WINDOWS XP
能给点代码吗?具体点的
能给点代码吗?具体点的
#3
写文件的时候 写入 const char * 串 ....
在读取的时候进行判断读取的内容和长度 ....
在读取的时候进行判断读取的内容和长度 ....
#4
在读取的时候需要多做一些工作进行判断一下,
防止读取半个字符 ....
防止读取半个字符 ....
#5
文件都是按照字节从物理设备读写的,处理编码格式一般在你读入或写前的内存缓冲区内进行
#6
我是要用UTF-8格式写入进文件。
怎么在写入前判断,能给点代码参考吗?
怎么在写入前判断,能给点代码参考吗?
#7
char mulStr[6] = "hello";
WCHAR wdStr[12];
MultiByteToWideChar(CP_UTF8,0,mulStr,5,wdStr,10);
WCHAR wdStr[12];
MultiByteToWideChar(CP_UTF8,0,mulStr,5,wdStr,10);
#8
学习
#9
powersuite(套套)
char mulStr[6] = "hello";
WCHAR wdStr[12];
MultiByteToWideChar(CP_UTF8,0,mulStr,5,wdStr,10);
这些要包含哪个头文件?
MultiByteToWideChar()的参数代表什么?
char mulStr[6] = "hello";
WCHAR wdStr[12];
MultiByteToWideChar(CP_UTF8,0,mulStr,5,wdStr,10);
这些要包含哪个头文件?
MultiByteToWideChar()的参数代表什么?
#10
msdn搜索一下MultiByteToWideChar帮助,有说明,这种转换我也没实际用过,还不知道行不行,你试一试看
#11
第一步:包含头文件
#include "comdef.h"
第二步:
char *str1="了";
_bstr_t str=str1;
WCHAR *str2=str;
第三步:str2就是你要的Unicode
#include "comdef.h"
第二步:
char *str1="了";
_bstr_t str=str1;
WCHAR *str2=str;
第三步:str2就是你要的Unicode
#12
楼上:
C 里好象不包括 #include "comdef.h" 吧,我用了会提示如下:
c:\program files\microsoft visual studio\vc98\include\comdef.h(17) : fatal error C1189: #error : Native Compiler support only available in C++ compiler
Error executing cl.exe.
C 里好象不包括 #include "comdef.h" 吧,我用了会提示如下:
c:\program files\microsoft visual studio\vc98\include\comdef.h(17) : fatal error C1189: #error : Native Compiler support only available in C++ compiler
Error executing cl.exe.
#13
是否写成 utf8 与你写入时有关,与打开文件时无关。
首先需要搞清楚,你所说的要写入的 "字符串" 是 char[] 还是 wchar_t[]
如果你现有 char[],那么要看你这个 char[] 是不是 utf8 格式,否则需要进行转码
如果你现有 wchar_t[],那么,可以使用
setlocale(".utf8")
wprintf()
的方法来写入,或者转化成 utf8 的 char[] 来写入。
如果大家说得搂主云里雾里的,那么请搂主先看一篇文章:(推荐)
http://www.regexlab.com/zh/encoding.htm
首先需要搞清楚,你所说的要写入的 "字符串" 是 char[] 还是 wchar_t[]
如果你现有 char[],那么要看你这个 char[] 是不是 utf8 格式,否则需要进行转码
如果你现有 wchar_t[],那么,可以使用
setlocale(".utf8")
wprintf()
的方法来写入,或者转化成 utf8 的 char[] 来写入。
如果大家说得搂主云里雾里的,那么请搂主先看一篇文章:(推荐)
http://www.regexlab.com/zh/encoding.htm
#14
学习一下