c 中的單引號

2021-06-09 00:14:07 字數 1300 閱讀 3679

字串加入''單引號:**分析器遇到乙個單引號,就認為字串文字開始,然後遇到下乙個單引號的時候,它不會立即認為字串結束,而是再讀取下乙個字元,如果還是單引號,則把這兩個單引號解釋為字串中的乙個單引號,並且繼續分析後面的字元,直到遇到乙個單引號後不是單引號,就認為這個字串結束。

例一:string.format("delete from [escale_std] where  identifier= "+"'datagridview1.rows[1].cells[0].value.tostring().trim()'")

返回的結果

delete from [escale_std] where  identifier= 'datagridview1.rows[1].cells[0].value.tostring().trim()'  //沒有變換數值,失敗

例二:string.format("delete from [escale_std] where  identifier= "+datagridview1.rows[1].cells[0].value.tostring().trim())

返回的結果

delete from [escale_std] where  identifier= f0779  //f0779無單引號,失敗

例三:string.format("delete from [escale_std] where  identifier= "+"'"+datagridview1.rows[1].cells[0].value.tostring().trim()+"'")

返回的結果

delete from [escale_std] where  identifier= 'f0779'  //有單引號,符合預期,其中+"'" 是為了增加前後單引號'

例四:string.format("delete from [escale_std] where  identifier= '"+datagridview1.rows[1].cells[0].value.tostring().trim()+"'")

返回的結果

delete from [escale_std] where  identifier= 'f0779'  //有單引號,符合預期

例五:string.format("delete from [escale_std] where  identifier= ''",datagridview1.rows[1].cells[0].value.tostring().trim())

返回的結果

delete from [escale_std] where  identifier= 'f0779'  //符合預期,有更好的可讀性

c 中的 單引號和雙引號

單引號是字元型,雙引號是字串型 單引號引起的乙個字元實際上代表乙個整數。雙引號引起的字串,代表的卻是乙個指向無名陣列起始字元的指標。該陣列會被雙引號之間的字元以及乙個額外的二進位制為零的字元 0 初始化。舉個例子 a 和 a 的區別,前者是字串,後者是字元。實際上 a 是 a 0 以 0 結尾。而 ...

mysql中反單引號 單引號 雙引號的區別

反引號,一般在esc鍵的下方。它是為了區分mysql的保留字與普通字元而引入的符號。舉個例子 select select from test where select 字段值 在test表中,有個select欄位,如果不用反引號,mysql將把select視為保留字而導致出錯,所以,有mysql保留...

shell中的引號,單引號,反引號

引號 在shell中引號分為三種 單引號,雙引號和反引號。單引號 由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。例如 string path echo string path 可見 保持了其本身的含義,作為普通字元出現。雙引號 由雙引號括...