0331631 发表于 2010-10-6 21:43:26

求助 如何实现将char=‘abcd’差分为 a b c d四个char数据?

求助如何实现将char=‘abcd’差分为 a b c d四个char数据?

uzufk 发表于 2010-10-6 21:58:27

用指针

zimmon 发表于 2010-10-6 22:17:26

啥语言的?很多语言都有字符串相关的函数!一般vb是测长!用循环用中间取一个一个取出来

obit 发表于 2010-10-6 22:19:35

指针

0331631 发表于 2010-10-6 22:42:17

能否具体点那?新手啊   !对字符指针很不理解!

alengend 发表于 2010-10-6 22:56:42

#include "stdio.h"
main()
{
   int a='ab';
   char * pointer1;
   int i=0;
   pointer1=&a;
   for(i=0;i<2;i++)
   {
    printf("%c\n",*pointer1);
    pointer1++;
   }
   getch();
}
用WIN-TC编译运行结果是输出
a
b

A-smith 发表于 2010-10-6 22:57:22

char 就是一个指针指向字符串的首元素地址 所以

*char = 'a'

*char+1 = 'b'

*char+2 = 'c'

*char+3 = 'd'

*char+1 跟 *(char+1) 都行

0331631 发表于 2010-10-6 23:36:34

非常感谢   使用A-smith的方法 可以!
另外如何将uint32格式转换为cahr格式在ADS1.2下!谢谢!

A-smith 发表于 2010-10-7 12:06:20

强制类型转换   可以隐式转换 也可以直接转换

在要转换的变量前加 (uint8) 就强制类型转换了

uint8      a;

uint32         b;

(uint8)b就是一个 char型变量了

a = (uint8)b;

0331631 发表于 2010-10-8 21:40:56

感谢 A-smith

我现在的做法是    uint32wendu   charlcdcode_3[];

                 c=wendu/1000;    //qian wei
                d=wendu%1000/100;//bai wei
                e=wendu%1000%100/10;//shi wei
                f=wendu%1000%100%10;//ge wei
                                                          
                lcdcode_3=c+0x30;
                lcdcode_3=d+0x30;
                lcdcode_3=0x2e;               
                lcdcode_3=e+0x30;
                lcdcode_3=f+0x30;

wandy2010 发表于 2010-10-8 22:05:52

回复【6楼】A-smith
char 就是一个指针指向字符串的首元素地址 所以
*char = 'a'
*char+1 = 'b'
*char+2 = 'c'
*char+3 = 'd'
*char+1 跟 *(char+1) 都行
-----------------------------------------------------------------------

解释的好!

rainyss 发表于 2010-10-8 22:47:52

u32 n = 'abcd';
u8 x;

x = ((unsigned char *)(&n));
x = ((unsigned char *)(&n));
x = ((unsigned char *)(&n));
x = ((unsigned char *)(&n));

A-smith 发表于 2010-10-9 10:52:31

楼上回答有待商榷
1 首先字符串要用双引号""

2 定义指向字符串的指针 要用char *不能是32位无符号

3 应该是 n 不是 &n

rainyss 发表于 2010-10-9 15:40:36

不是字符串,赋值方式只是模仿楼主的方式而已,所以后面两个"有待商榷"也都不成立.楼主既然这样写,肯定是有原因的,就不去计较了,只要解答他的关心的问题就行了.
页: [1]
查看完整版本: 求助 如何实现将char=‘abcd’差分为 a b c d四个char数据?