" \ x01" [0]为什么在字符串的末尾出现[0]

时间:2016-01-13 09:45:28

标签: c++ arduino-ide lcd

我在很多论坛上搜索过,但我找不到问题的答案:

我试图理解我的3D打印机内的软件(Marlin固件),我找到了这个c ++代码:

#define LCD_STR_BEDTEMP     "\x00"
#define LCD_STR_DEGREE      "\x01"
#define LCD_STR_THERMOMETER "\x02"
#define LCD_STR_UPLEVEL     "\x03"
#define LCD_STR_REFRESH     "\x04"
#define LCD_STR_FOLDER      "\x05"
#define LCD_STR_FEEDRATE    "\x06"
#define LCD_STR_CLOCK       "\x07"
#define LCD_STR_ARROW_RIGHT "\x7E"  /* from the default character set */

lcd.createChar(LCD_STR_BEDTEMP[0], bedTemp);
lcd.createChar(LCD_STR_DEGREE[0], degree);
lcd.createChar(LCD_STR_THERMOMETER[0], thermometer);
lcd.createChar(LCD_STR_UPLEVEL[0], uplevel);
lcd.createChar(LCD_STR_REFRESH[0], refresh);
lcd.createChar(LCD_STR_FOLDER[0], folder);
lcd.createChar(LCD_STR_FEEDRATE[0], feedrate);
lcd.createChar(LCD_STR_CLOCK[0], clock);

lcd.createChar是Arduino命令,我没有遇到任何问题,但我不明白的部分是为什么所有#define字符串都以 [0] 结束?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

所有的宏都会产生字符串文字,它们始终是\ 0终止的。请显示 func playSound(sound:String){ // Set the sound file name & extension let soundPath = NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource(sound, ofType: "mp3")!) do { //Preperation try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) } catch _{ } do { try AVAudioSession.sharedInstance().setActive(true) } catch _ { } //Play the sound var error:NSError? do{ audioPlayer = try AVAudioPlayer(contentsOfURL: soundPath) }catch let error1 as NSError { error = error1 } audioPlayer.prepareToPlay() audioPlayer.play() } 功能的签名。也许更清楚的是问题是什么。