C语言基础知识2 字符串的一些操作

代码示例

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int len,i;
    char *tst="ABCDEFGHIJK";  //字符串的指针,指向第一个
    len=strlen(tst);
    for(i=0;i<len;i++)
    {
              printf("%c\n",*tst);
              tst++;
    }
   printf(" \'G\' is %d\n",'G');  //单引号和双引号有区别,比较奇怪。
   printf(" \"G\" is %d\n","G");
}

以上是C语言的基本操作。

下面的代码,实现单片机的串口发送一段字符串。

int8_t * AT_CGATT_Q = "AT+CGATT?\r\n";

void USART2_Write(USART_TypeDef* USARTx, uint8_t *Data, uint32_t len)
{
    uint32_t i;
    USART_ClearFlag(USARTx, USART_FLAG_TC);
    for(i = 0; i < len; i++)
    {
        USART_SendData(USARTx, *Data++);
        while( USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET );
    }
}
//在这里,就是把AT_CGATT_Q这个指针,作为Data这个参数传入

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
     char a[10]="abc!"; //数据的方式
     int i;
     for(i=0;a[i]!='\0';i++)
     {
         printf("%c\n",a[i]);
         if(a[i]==98)         //字符-->ASCII码-->十六进制
            printf("yes\n");
     }

     char *p="mnopgrs!";  //指针
     char *q="xyz";
     for(i=0;*(p+i)!='\0';i++)
        printf("%c\n",*(p+i));
     int b,c,d;
     b=strlen(p);
     c=strlen(q);
     printf("lenth of string p is %d\n",b);   //b输出8
     printf("lenth of string q is %d\n",c);   //b输出8

     p=strcat(p,q);  //空间的问题 这个函数的运行,是会出错的
     b=strlen(p);
     printf("string p is %d\n",b);   //b输出8
}

 

posted on 2017-08-01 19:21  nasduc  阅读(161)  评论(0编辑  收藏  举报

导航