在brew开发中遇到的一些问题

由于公司要开发一个定位的软件,本来是想拿给别人开发,但又因为brew手机有很多型号很难让别人一个一个的适配。所以只好自己来摸索了,对C又十分的陌生

只好慢慢的动起来^--^

以下是我遇到的几个问题:

一、乱码问题

1、直接在代码中定义了两个变量

const AECHAR * dlgCaption = "dialog demo";
const AECHAR * dlgText = "this is a dialog";

 然后显示到模拟器的屏幕上但显示的是乱码,找了资料没找到办法,最后回想起从高通下载到的资料"Programming_Primer.pdf"里面的myfirstapp,看了看代码发现了它跟我代码的区别是在字符串变量前它加了一个"L"的字符,这是什么意思呢?找了一下资料原来:

L (converts following character or string to its Unicode counterpart)


表示转换成宽字符,就是每个字符占用两个字节。 
例:strlen("asd") = 3; 
strlen(L"asd") = 6;


将ANSI字符串转换成unicode的字符串。


接下来我将我的代码修改了一下:

const AECHAR * dlgCaption = L"dialog demo";
const AECHAR * dlgText = L"this is a dialog";

然后再显示了一次,,,ok...i solved it.....

2、从资源文件中读取字符串变量

也一直是乱码,这是为什么呢,按网上建议,这不应该会是乱码啊,因为变量我也都是设置为unicode啊。

之前我一直没去看debug信息的,经过认真的看debug信息后发现:debug警告了资源文件的名字只能以字母开发以数字和字母混合,但最好不要有大写字母混在里面

于是乎,我按这个警告去修改我的资源文件,,没想到真的解决了该问题。

注意噢"DBGPRINTF"是一个很好用的调试工具

原文地址:https://www.cnblogs.com/silentjesse/p/2784364.html