我做我的C首先練習,想做到以下幾點:轉義C字符串花括號
與我的C代碼組合運行的程序按以下格式讀取輸入(我不能改變的):
{"inputname":0}
我的C代碼應該從命令行輸入中讀取字符串。如果我輸入上面引用的確切形式,它工作正常。但是,在命令行中添加花括號很煩人(例如,我的程序不會讓我編寫它們)。
所以想拼湊的輸入,並把括號圍繞它自動地將碼內,所以從指令窗口的輸入僅需要是「inputname」:0代替{「inputname」: 0}。
當我嘗試只是把三根弦{,輸入和}在一起,我得到
error: incompatible types when assigning to type ‘char[200]’ from type ‘char *’
只要我添加第二個護腕。
那我該怎麼做呢?
你如何「拼湊」這些字符串? C沒有像'+',''''或'〜'這樣的字符串運算符來連接。根據你想要做什麼,你可能希望沿着'snprintf(buf,sizeof(buf),「{%s}」,input)'的方向行事。 –
所以請展示你如何把你的子串放在一起。 – flowit
對不起:把它們放在一起經由 '炭inbraces [200]' '炭outbraces [200]' '炭inputstring [200]' '的strcpy(inbraces, 「{」);' '的strcpy(outbraces,「 }「);' 'strcat(inputstring,outbraces)' 迄今爲止它的工作完美。但是,當我添加第二個大括號,以便新字符串在兩側都有大括號時,它會產生此錯誤。 – Anphie