“384kfjkd打开假”
请把上面的字符串输出成TXT文件,一共占30位,不够输出空格,设计思想:数字占一位,英文占一位,文字占两位。最好把这个字符串赋于一个变量,然后用循环按位检查.
谢谢!!!
请把上面的字符串输出成TXT文件,一共占30位,不够输出空格,设计思想:数字占一位,英文占一位,文字占两位。最好把这个字符串赋于一个变量,然后用循环按位检查.
谢谢!!!
解决方案 »
- 请问中国盲人足球队受中国足协管吗?受谢亚龙管吗?
- 请教一个复杂的文件处理问题?
- 为什么VB调用VC写的方法就自动退出???
- vb中的回车,换行符代码是什么?
- VB程序中如何判断一个文件夹是否存在? (注意:是文件夹,不是文件!)
- 在win2000下怎样设置打印任务在cpu的占有率?急急急急急急急急急急急急急急急急急急急急急急急急急
- 我现在很富有了,我要向大家问一个问题:在哪找到RM文件的结构资料啊!!!!!!!!
- 修改并保存Excel文件
- 请各位谈谈对VB和PB的看法。我很迷茫。
- <SCRIPT src="xxx.js"></SCRIPT> 如何获取xxx.js里面的内容??
- 控件问题
- 谁用过GW basic的?
好像不行,VB里面都是用UNIcode的,Windows也是,不管英文数字还是中文都占两位,如果你把输出的字符串转换为ANSI,TXT文件写入的时候会报错如果不牵扯内码转换的问题你可以这样做:objStr=""
YourStr="384kfjkd打开假"
i=len(YourStr)
for j=1 to i
Strtmp=Mid(yourstr,j,1)
Strtmp=Strconv(Strtmp,vbfromunicode)
if Lenb(Strtmp)=2 then
'汉字
objstr=objstr & space(1) & strconv(strtmp,vbUnicode)
else
'英文
objstr=objstr & strconv(strtmp,vbUnicode)
end if
nextdim Outstr as string * 30
outstr=objstr
s = space$(30)
s="384kfjkd打开假"直接把S输出就行了,绝对是占30位的,你不信用Len试试
For i = 1 To Len(rs!name)
If Asc(Mid(rs!name, i, 1)) > 0 Then
name = name & Mid(rs!name, i, 1)
namewei = namewei + 1
Else
name = name & Mid(rs!name, i, 1)
namewei = namewei + 2
End If
Next
For i = 1 To (30 - namewei)
name = name & " "
Next
dim byteArr(1 to 30) as byte
'......
byteArr=space$(30)
s="384kfjkd打开假"
for i=1 to lenB(s)
byteArr(i)=MidB(s,i,1)
next
'...
'然后输出到一个二进制文件,扩展名为".txt"