- 博客(13)
- 问答 (2)
- 收藏
- 关注
原创 北京时间转秒值(mktime)
#include <iostream>#include <cstring>#include <ctime>using namespace std;struct data{ int year = 2021-1900; int month = 10-1; int date = 18; int hour = 15; int min = 30; int sec = 30;}beijing_time;time_t GetTimeNo...
2021-10-18 16:30:01
276
原创 使用FATFS的f_write函数时,会覆盖掉原始文件内容
使用FATFS的f_write函数时,有别于c语言的fwrite,无论怎么改参数都无法实现数据的续写解决:只需要在写函数之前查询一下文件的末尾,并把返回的指针赋给地址参数即可即:res_sd=f_lseek(&fnew,f_size(&fnew));f_write(&fnew,buff,64,&fnum);...
2021-10-14 15:23:04
1693
1
原创 定义一个char类型的十六进制数时,前面会补齐ffffff
问题:有符号char如果其符号位为1,printf格式化输出其十六进制数值,前面自动补全四个fffff分析:有符号char型如果最高位是1,意思是超过了0x7f,当%X格式化输出的时候,则会将这个类型的值拓展到int型的32位,所以才会出现0xff,被扩展为ffffffff解决:定义为无符号字符,uint8_t char...
2021-09-18 11:37:29
913
原创 做项目将结构体memcpy到字符数组时,数组内容不全的问题
问题:做项目将结构体memcpy到字符数组时,数组内容不全,只能显示一部分。分析:这是由于结构体定义的对齐规则,导致有的成员首地址不连贯。解决:在定义结构体前后,加上紧密对齐#pragma pack(1)tydefef struct {...}a_t;#pragma pack()...
2021-09-18 11:33:04
480
原创 C/C++16进制字符文件转2进制数据文件
#include <iostream>#include <cstdlib>using namespace std;int file_size(FILE* fp){ fseek(fp, 0L, SEEK_END); return ftell(fp);}int main(){ unsigned char buff; unsigned char rslt; unsigned char temp = 0; int is_upper = 1; .
2021-09-15 17:29:19
406
原创 读取文件使用feof多读取最后一行的问题
错误:多读取一遍最后一行数据while(!feof(fp)){ fgets(databuf,1024,fp); cout << databuf << endl;}原因:读取最后一行时feof(fp)没有置!0,下一次才会置!0解决:做两次判断,先输出后读fgets(databuf,1024,fp);while(!feof(fp)){ cout << databuf << endl; fgets(da.
2021-09-12 11:31:18
648
原创 C语言实现FIFO
#include "stdio.h"#include "stdlib.h"#include "string.h"#include "stdint.h"#include "stdbool.h"typedef struct { uint8_t* data; uint32_t isize; uint32_t isum; uint32_t wpos; uint32_t rpos; bool is_full;} fifo_t;int fifo_create(uint32_t.
2021-09-02 15:48:03
632
原创 在keil中创建结构体时遇到的问题,incomplete type is not allowed以及symbol multiply defined(by main.o and a.o)
错误:当我在a.c中定义并声明一个结构体,并在mian中extern声明后报incomplete type is not allowed的错误,提示没有实际意义,上网上查了资料,说需要在a.h中定义声明结构体,显示symbol multiply defined(by main.o and a.o)的错误。原因:未知解决:在...
2021-08-20 09:44:05
1507
1
原创 将UTC时间转换为北京时间(字符数组转换为整型)
#include <stdio.h>#include <stdlib.h>#define subtime 8struct time{ int year; int month; int date; int hour; int min; int sec; };struct time...
2021-08-19 16:02:33
532
原创 按逗号提取GPS数据中的UTC时间
#include <stdio.h>#include <string.h>#include <stdlib.h>#define len 20char BDS_year[3];char BDS_month[3];char BDS_date[3];char BDS_hour[3];char BDS_min[3];char BDS_sec[3];char* p[len];int i;char uart3[60]={'$','G','N','R',.
2021-08-19 15:59:46
190
原创 初始化字符数组时的错误
错误:初始化字符数组后打印出现错误。原因:没有结束符。解决:1、char BDS_year[3]="21";2、char BDS_year[3]={‘2’,‘1’,‘\0’};3、char BDS_year[2]={'2','1'};1和2是正确的,3会出错。
2021-08-19 15:52:13
443
原创 写结构体时报expected ‘=‘, ‘,‘, ‘;‘, ‘asm‘ or ‘__attribute__‘ before ‘.‘ token错误
错误:定义声明结构体后,给结构团体成员赋值时报expected '=', ',', ';', 'asm' or '__attribute__' before '.' token的错误。原因:结构体成员赋值是可执行语句。解决:在函数中赋值,或者声明时赋值。
2021-08-19 15:16:06
1990
1
原创 在使用strtok遇到的问题
问题:使用strtok分割字符,在循环中调用结果时会出现分割的字符串错乱现象。原因:由于strtok函数将指定的分隔符变为结束符,当第二次传入时由于地址未变,新传入的字符串将结束符变为分隔符,当再次打印时就会将全部数组显示,出现错乱情况。解决:由于该项目频率不高,直接strcpy再拷贝一份就可以了。...
2021-08-18 11:54:55
930
空空如也
stm32串口接收十六进制数,并放进数组遇到的问题
2021-10-11
memcpy的使用出错
2021-08-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人