如何从该数组中的每个字符串中删除'\ 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