SX_TS3000U项目常用函数_4

项目代码量很大,但可以先由main函数开始落脚,慢慢搞懂框架,再扩展到懂细节,一步一步来

1、strstr函数:

const char *str = "wewq";
const char *substr = "we";
char *pos = strstr(str, substr);

返还substr在str字符串中第一次出现的位置

2、getopt函数:

int main(int argc, char *argv[])
while ((opt = getopt(argc, argv, "abc")) != -1)

用于解析命令行参数,argc是参数个数,argv[i]是具体命令

例如getopt的第二个参数是”a:",这代表识别一个-a + 参数的命令
如一个./program -a argument就是由program.c文件编译过来的可执行文件program,program中可执行文件能够识别命令行 -a argument

3、struct函数:

定义结构体,注意的是用typdef struct定义的结构体可以重命名,重命名后的例如MSG结构体定义变量不用带struct,直接MSG msg;即可,反之要带,struct MSG msg;

4、memset函数:

#include <stdio.h>
#include <string.h>

int main() {
    char str[50] = "This is a string";
    printf("Before memset: %s\n", str);

    // 将str的前10个字节设置为字符 'x'
    memset(str, 'x', 10 * sizeof(char));
    printf("After memset: %s\n", str);

    return 0;
}

Before memset: This is a string
After memset: xxxxxxxxxx is a string

void *s:指向要填充的内存块的指针。
int c:要填充的值。这个值会被转换为 unsigned char 类型,然后填充到内存块中。
size_t n:要填充的字节数。

5、union:

同一时刻只能有一个变量能用,一次声明只能生成一个对象

#include <stdio.h>
#include <string.h>

int main(){
	
	union{
		int a;
		char buf[10];
	}mu;
	mu.a = 1;
	//char BUF[20] = "1212";
	//memcpy(mu.buf, BUF, 5);
	printf("%d\n", mu.a);
	printf("%s\n", mu.buf);
}

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值