如何從該數組中的每個字符串中刪除'\ n'?從二維數組中的字符串中刪除最後一個字符
我知道我可以爲一個簡單的C字符串做這樣的事情,但我失敗了,在這種情況下使用它
cmd[strcspn(cmd, "\n")] = '\0';
我也是不知道這將是propper方式或不。
字符串不會在中間包含任何空格或\ n。它們也是一個靜態長度(6)。
#include <stdlib.h>
unsigned char cmd[][6] = {
{"r123\n"},
{"r999\n"},
{"l092\n"},
{"l420\n"}};
void main(void) {
int i;
for(i = 0; i < (sizeof(cmd)/sizeof(cmd[0])); i++) {
printf("%s\n", cmd[i]);
}
}
您的解決方案非常好 – Nicoretti
您應該提供更多信息以獲得更有用的答案。這些字符串的長度是否總是5(用''\ 0''6)?如果它在這個字符串的中間,你還想刪除'\ n'嗎? ... – LihO
我同意LihO。如果你想爲這個問題提供一個通用的解決方案,你應該這樣說。另一方面,如果你想要一個適用於特定情況的解決方案(例如,總是5個字符串,總是長度5,...),那麼你應該指定細節,以便我們知道我們可以使用什麼。 – penelope