我正在尝试将字符串转换为数据类型.我认为这就是我所需要的但是如果我尝试打印它只打印"12字节"
let tString = "Hello World!"
if let newData = tString.data(using: String.Encoding.utf8){
print(newData)
self.peripheral?.writeValue(newData, for: positionCharacteristic, type: CBCharacteristicWriteType.withResponse)
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
有没有办法保存 IAR 窗口布局?每次我启动调试会话时,它都会在我的屏幕上填满 9 个不同的窗口。我会很高兴有 3 个和几个选项卡,但我每次都必须重新安排事情。我没有看到明显的方法来拯救它们,谷歌对此也没有太多可说的。
长话短说我在C中使用IAR EWARM编译器.
uint8_t packet[2048];
uint32_t* src = (uint32_t*)&packet[9];
uint32_t var = *src++;
Run Code Online (Sandbox Code Playgroud)
最后一行导致总线故障.
uint8_t packet[2048];
uint32_t* src = (uint32_t*)&packet[9];
uint32_t var = 0xFE;
*src++;
Run Code Online (Sandbox Code Playgroud)
现在没有公交车故障.我可以在调试器中看到src指向我希望它指向的数据.增量按预期工作但尝试读取它会导致总线故障.
有帮助吗?
为什么我可以这样做
let dataArray = data.characters.split{$0 == ";"}.map(String.init)
Run Code Online (Sandbox Code Playgroud)
和这个
let dataArray = self.dataIn.characters.split{$0 == "\r\n"}.map(String.init)
Run Code Online (Sandbox Code Playgroud)
但我不能这样做?
let dataArray = data.characters.split{$0 == "; "}.map(String.init)
Run Code Online (Sandbox Code Playgroud)
我想寻找字符串
"; "
Run Code Online (Sandbox Code Playgroud) 我发现这里似乎是对我问题的解释
但我真的不明白这个解释.
这是我的剧本......
for /R /d %%f in (\Product\Database\SQL\Project\Model\Scripts\*) DO (
REM echo %%f
SET !LOAD_FILE_FILTER= %%f\*.sql
echo file: %!LOAD_FILE_FILTER%
CALL %!BATCH_FILE% -u %!USER_NAME% -p %!PASSWORD% -s %!SERVER_NAME% -d %!DATABASE_NAME% -f %!LOAD_FILE_FILTER% -o %!LOG_FILE%
IF %!EchoErrors%==1 (
ECHO [
TYPE %!LOG_FILE%
ECHO ]
)
Run Code Online (Sandbox Code Playgroud)
)
echo始终打印文件:*.sql,我传递此var的脚本总是抱怨LOAD_FILE_FILTER为空.
我尝试setlocal EnableDelayedExpansion按照文章中的建议添加,但它没有解决问题.将echo file: %!LOAD_FILE_FILTER%始终打印在我运行的目录中的最后一个子目录.将echo %%f始终打印正确的值.
什么是'!' 变量背后为我做什么?
另外,有人可以向我解释两者之间的区别
SET!VAR和SET VAR
%VAR &&!VAR&!VAR!%% VAR