嵌入式 linux读取按行读写文本文件

  1. #include <</SPAN>stdio.h>
  2. #include <</SPAN>unistd.h>
  3. #include <</SPAN>fcntl.h>
  4. #include <</SPAN>string.h>
  5. #include <</SPAN>malloc.h>
  6. #include <</SPAN>stdlib.h>


  7. typedef struct item_t {
  8. char *key;
  9. char *value;
  10. }ITEM;

  11. /*
  12. *去除字符串右端空格
  13. */
  14. char *strtrimr(char *pstr)
  15. {
  16. int i;
  17. i = strlen(pstr) - 1;
  18. while (isspace(pstr[i]) && (i >= 0))
  19. pstr[i--] = '\0';
  20. return pstr;
  21. }
  22. /*
  23. *去除字符串左端空格
  24. */
  25. char *strtriml(char *pstr)
  26. {
  27. int i = 0,j;
  28. j = strlen(pstr) - 1;
  29. while (isspace(pstr[i]) && (i <</SPAN>= j))
  30. i++;
  31. if (0<</SPAN>i)
  32. strcpy(pstr,&pstr[i]);
  33. return pstr;
  34. }
  35. /*
  36. *去除字符串两端空格
  37. */
  38. char *strtrim(char *pstr)
  39. {
  40. char *p;
  41. p =strtrimr(pstr);
  42. return strtriml(p);
  43. }


  44. /*
  45. *从配置文件的一行读出key或value,返回item指针
  46. *line<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在嵌入式Linux中使用C读写UART,您需要完成以下步骤: 1.打开串口设备文件:在Linux中,串口设备文件通常位于/dev/ttyS*(针对标准串口)或/dev/ttyUSB*(针对USB串口)中。您可以使用open()函数打开该设备文件并返回文件描述符。 2.配置串口:在打开串口设备文件后,您需要使用ioctl()函数配置串口参数,例如波特率、数据位、停止位和奇偶校验位等。您可以使用termios结构体来设置这些参数。 3.读取数据:一旦串口配置完成,您可以使用read()函数从串口中读取数据。read()函数将返回读取的字节数。 4.写入数据:您可以使用write()函数将数据写入串口。write()函数将返回写入的字节数。 以下是一个简单的示例代码,演示如何在嵌入式Linux中使用C读写UART: ```c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <termios.h> int main() { int fd; struct termios options; // 打开串口设备文件 fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); if (fd == -1) { perror("open"); exit(1); } // 配置串口参数 tcgetattr(fd, &options); cfsetispeed(&options, B9600); cfsetospeed(&options, B9600); options.c_cflag &= ~CSIZE; options.c_cflag |= CS8; options.c_cflag &= ~PARENB; options.c_cflag &= ~CSTOPB; tcsetattr(fd, TCSANOW, &options); // 读取数据 char buf[255]; int n = read(fd, buf, sizeof(buf)); if (n > 0) { buf[n] = '\0'; printf("Read %d bytes: %s\n", n, buf); } // 写入数据 char msg[] = "Hello, world!"; int m = write(fd, msg, sizeof(msg)); if (m > 0) { printf("Wrote %d bytes: %s\n", m, msg); } // 关闭串口设备文件 close(fd); return 0; } ``` 请注意,该示例代码中使用的是标准串口设备文件/dev/ttyS0。如果您的设备不支持标准串口,您需要根据实际情况更改设备文件路径。此外,该示例代码只是演示了基本的串口读写操作,并未包含错误处理和异常情况的处理。在实际应用中,您需要根据具体情况添加适当的错误处理和异常情况的处理代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值