如果我的字符串包含:fprintf中和的fputs字符串中忽略「」,而其寫入文件
a="abd\\aa\[1\]\\"
如果我嘗試將它寫入使用fputs
和fprintf
文件,寫入以下到文件:
"abd\aa[1]\"
我想要"abd\\aa\[1\]\\"
寫入文件。我怎樣才能做到這一點?
如果我的字符串包含:fprintf中和的fputs字符串中忽略「」,而其寫入文件
a="abd\\aa\[1\]\\"
如果我嘗試將它寫入使用fputs
和fprintf
文件,寫入以下到文件:
"abd\aa[1]\"
我想要"abd\\aa\[1\]\\"
寫入文件。我怎樣才能做到這一點?
\
字符是一個特殊字符。試着這樣說:
a = "abd\\aa[1]\\";
編輯
如果你想"abd\\\\aa\\[1\\]\\\\"
被寫入文件,你必須每個反斜槓加倍:
a = "abd\\\\\\\\aa\\\\[1\\\\]\\\\\\\\";
問題是如果輸入中有5個連續的反斜槓,我想所有的五個都在文件中 – 2012-03-15 10:35:59
因此輸入不在我的手中。因此,您必須將要寫入文件的每個反斜槓加倍。我會更新我的答案。 – Constantinius 2012-03-15 10:40:05
如何做到這一點,這種情況下a =「{\\ [}」你不能檢查,如果在這種情況下是否有'\' – 2012-03-15 11:01:07
使用雙\
,因爲\
是轉義字符:
a = "abd\\aa[1]\\"
問題是輸入不在我手中如果有5個連續反斜槓在輸入我想要所有五個在文件中 – 2012-03-15 10:37:00
你要逃脫你\
,像這樣:
printf("abd\\a[1]\\");
否則printf
將打印\a
這是BEL
字符。
我想
"abd\\\\aa\\[1\\]\\\\"
到寫入文件。
只需加倍反斜槓的數量。
fprintf(fp, "abd\\\\\\\\aa\\\\[1\\\\]\\\\\\\\");
當您將'\'
放入字符串中時,下一個字符將被忽略。如果您在'\'
之前放置'\'
,秒功能將被忽略並打印。
你怎麼輸入字符串? – moooeeeep 2012-03-15 10:51:30
命令行輸入到C代碼 – 2012-03-15 11:20:29
輸入是命令行輸入到C代碼 – 2012-03-15 11:22:09