c语言字符串路径打开本地文件,C语言文件路径中的”/“和“\“

在不同系统的情况系   windows下是\,linux和unix下是/  但在win中没有本质区别。

但是由于   \   也是转义字符的起始字符,  所以, 路径中的   \   通常需要使用   \\

如果是   /   就不需要使用转义了

如C中文件操作,

c:\\kkk\\dd.txt 双反斜杠!

c:/kkk/dd.txt一样

“\”一般是表示本地目录的,比如你电脑里面的C:\windows\..

"\"在DOS中表示右边的字符串是以左边字符串为名称的目录下的子目录或者文件名;

比如C:\bb\aa.bat表示C盘根目录下bb子目录中的aa.bat文件。

“/”我没有见过用于表示文件路径的,如果是下种情况

C:\bb\aa.bat /cc

则是aa.bat运行需要的参数。

其它最多的是在网络中的运用,看你的地址栏。

问题很不清晰,先回答这些。

windows下文件路径是用\分隔的,比如C:\Windows\System32\就是一个标准的windows路径。

在C语言中,文件路径会被写作字符串形式,但是由于C语言的字符串规则中,\字符是转义字符的引导,所以直接写

"C:\Windows\System32\"

会出错。而字符'\\'才是表示\。

于是在写路径的时候,就必须是

"C:\\Windows\\System32\\"

即,写成单独的\的,是windows的标准形式,而写成\\的,才是C语言中用到的形式。

QT打开文件路径中含有中文和空格问题

使用qt-mingw版做的软件,发给客户以后说工作不正常,配置文件无法打开,或者加载数据文件不正常.远程查看以后,发现客户经常将程序放置在中文带空格的路径下,导致文件打开不正常.所以最近想在程序上解决 ...

qt 3 获取文件路径中的一部分

QList qlist = path.split(QRegExp("[\\\\/]")); QString FileName = qlist.at(q ...

【php】 php获取文件路径中的文件名和文件后缀方法

获取文件名 $file = realpath(__DIR__.'/images/common/../addBtn.png'); 方法一 $file = realpath(__DIR__.'/image ...

使用svn的过程中check out的文件路径中的文件图标全都加上了“蓝色问号”的解决方案

(1)你在对同一层目录下创建一个记事本文件,然后把下面这句话复制进去 for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q &q ...

3种Java从文件路径中获取文件名的方法

package test; import java.io.File; public class FileName { /** * @param args */ public static void m ...

CMake 从文件路径中提取文件名

FILE(GLOB_RECURSE SRC_FILES "*.c" "*.cc" "*.cpp" "*.h" &quot ...

UWP 中的各种文件路径(用户、缓存、漫游、安装……)

原文 UWP 中的各种文件路径(用户.缓存.漫游.安装……) UWP 提供了多种不同文件路径访问方式,对应到不同的文件路径中.可能我们只是简单用 ApplicationData.Current 获取一 ...

LC_MESSAGES、语言文件po和mo互相转换

LANGUAGE, LC_ALL, LC_MESSAGES, LANG zz- -   关于这几个环境变量一般认为它们的作用是用来指定程序用户界面语言而且这几个环境变量的优先级是从左到右依次降低的大概 ...

随机推荐

jqgrid no url reset

如果发现 jqgrid 在运行中出现次错误,可能是以下原因 $('#@(ViewBag.tabcid + "_grid")').jqGrid('navGrid', '#@(View ...

ASP.NET中使用DropDownList实现无刷新二级联动详细过程

Demo.sql create table Car( [id] int identity, ) not null, ) not null ) go insert into Car ([brand],[ ...

poj1859The Perfect Symmetry

链接 按x或y排序,假如有对称点的话,头尾相对. #include #include #include #i ...

如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入

大多数脚本利用发生在用户可以将可执行代码(或脚本)插入您的应用程序时. 默认情况下,ASP.NET 提供请求验证.只要窗体发送包含任何 HTML,该验证都会引发错误. 您可以使用下列方法防止脚本利用: ...

Java使用Flying Saucer实现HTML代码生成PDF文档

1.需要的jar包:org.xhtmlrenderer.flying-saucer-pdf-itext5,Maven依赖如下: or ...

Android开发(一):环境搭建

引言 本系列将记录我在步入Android开发过程中的一些流水账及经验,如有疏漏,还望不吝赐教. 目录 1.JDK安装及配置 2.Eclipse.Android SDK ADT安装及配置 正文 1.JD ...

问题-delphi 程序在某电脑中显示???问号 乱码

问题现象:delphi 程序在某电脑中显示???问号 乱码 问题原因:因为语言的原因.不同的国家可能显示的编码不一样. 问题处理:“控制面板”>“区域和语言选项”>“区域选项”>“标 ...

将汉字转为UTF-8编码

01./** 02. * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名. 03. * @param s 原文件名 04. * @return 重新编码后的文件名 05. */ ...

NHibernate 帮助类(单例实际运用)

在NHibernate中,ISessionFactory是线程安全的,对应一个数据库.它是生成ISession的工厂.而ISession是线程不安全的. 创建一个ISessionFactory需要消耗 ...

uva 11134 - Fabled Rooks(问题转换+优先队列)

题目链接:uva 11134 - Fabled Rooks 题目大意:给出n,表示要在n*n的矩阵上放置n个车,并且保证第i辆车在第i个区间上,每个区间给出左上角和右小角的坐标.另要求任意两个车之间不 ...

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下代码实现串口发送字符串的函数: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <termios.h> #include <unistd.h> int serialport_init(const char* serialport, int baud) { struct termios options; int fd; fd = open(serialport, O_RDWR | O_NOCTTY | O_NDELAY); if (fd < 0) { perror("open"); return -1; } fcntl(fd, F_SETFL, 0); tcgetattr(fd, &options); speed_t speed; switch (baud) { case 4800: speed = B4800; break; case 9600: speed = B9600; break; case 19200: speed = B19200; break; case 38400: speed = B38400; break; case 57600: speed = B57600; break; case 115200: speed = B115200; break; default: fprintf(stderr, "Unsupported baudrate\n"); return -1; } cfsetispeed(&options, speed); cfsetospeed(&options, speed); options.c_cflag |= (CLOCAL | CREAD); options.c_cflag &= ~PARENB; options.c_cflag &= ~CSTOPB; options.c_cflag &= ~CSIZE; options.c_cflag |= CS8; options.c_cflag &= ~CRTSCTS; options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); options.c_iflag &= ~(IXON | IXOFF | IXANY); options.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL); options.c_oflag &= ~OPOST; options.c_cc[VTIME] = 0; options.c_cc[VMIN] = 1; tcsetattr(fd, TCSANOW, &options); return fd; } int serialport_write(int fd, const char* str) { int len = strlen(str); int n = write(fd, str, len); if (n != len) { perror("write"); return -1; } return n; } int main() { int fd = serialport_init("/dev/ttyUSB0", 115200); if (fd < 0) { return 1; } serialport_write(fd, "Hello World!\n"); close(fd); return 0; } ``` 这段代码通过Linux下的串口通信库termios来实现串口初始化和数据发送,其serialport_init函数用于初始化串口,serialport_write函数用于发送字符串。在使用时,需要修改串口设备文件路径和波特率,以及要发送的字符串内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值