c - 如何修剪格式为 char[] 的字符串?

标签 c

在我的 C 程序中,我创建了一个字符数组,如 char read_str[MAX_ALLOWED_BUFFER];。 使用此数组,如何从其左侧和右侧修剪空格和换行符。 这不是一个指针,所以我不明白如何摆脱尾随字符。 有人可以帮忙吗?

char read_str[MAX_ALLOWED_BUFFER];
FILE *fp;
fp = fopen(argv[1],"r");
fgets(read_str, MAX_BUFFER, fp);
// how to trim read_str ?

最佳答案

您需要确定第一个非空白字符,然后将值从那里复制到数组的开头。然后您需要识别最后一个非空白字符,并在其后创建一个新的空终止符。

请注意,您实际上并没有删除或删除任何内容,您只是在更改数组中字符的值。

您可能会发现 C 标准库中的一些字符串处理函数很有用;这是它们的列表:http://en.cppreference.com/w/c/string/byte .

关于c - 如何修剪格式为 char[] 的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14300238/

相关文章:

c - 使用 Win32 API 将自定义边框添加到另一个应用程序

代码不起作用,出现错误 : segmentation fault(core dumped)

c - 为什么我的 flex 代码中有无法识别的规则?

c - 从 R 语言调用的 C 函数中的动态内存分配

c++ - `g_autoptr(MyApplication) app = my_application_new();`是什么意思

c - 简单 MPI 发送/接收程序中的行为不明确

c - 如何知道 C 中数组中元素的确切数量?

c - C : operands of unequal types, char[255] 和 char* 中的字符串问题

c - Xcode 和 C11 stdatomic.h

c++ - 使用 C/C++,如何以彩色打印到标准输出,但前提是终端支持它?