📜  C程序从String修剪前导空白

📅  最后修改于: 2021-05-28 02:04:58             🧑  作者: Mango

给定字符串str ,任务是编写C程序以删除给定字符串中的前导空格。

例子 :

方法:想法是计算给定字符串的前导空格,然后从该计数索引中将字符从该索引复制到字符串。步骤如下:

  1. 初始化count = 0以对前导空格的数量进行计数。
  2. 遍历给定的字符串并找到前导空格字符结束处的索引(例如idx )。
  3. 遍历该索引idx中的所有字符,并将该索引中的每个字符复制到前端索引的末尾。
  4. 最后,在新字符串的最后一个索引处放置’\ 0’以终止字符串。

下面是上述方法的实现:

C
// C program for the above approach
#include 
  
// Function to remove leading
// spaces from a given string
char* removeLeadingSpaces(char* str)
{
    static char str1[99];
    int count = 0, j, k;
  
    // Iterate String until last
    // leading space character
    while (str[count] == ' ') {
        count++;
    }
  
    // Putting string into another
    // string variable after
    // removing leading white spaces
    for (j = count, k = 0;
         str[j] != '\0'; j++, k++) {
        str1[k] = str[j];
    }
    str1[k] = '\0';
  
    return str1;
}
  
// Driver Code
int main()
{
    // Given string
    char str[] = "         geeksforgeeks";
    char* ptr;
  
    // Function call
    ptr = removeLeadingSpaces(str);
  
    // Print string without leading space
    printf("%s", ptr);
    return 0;
}


输出:
geeksforgeeks

时间复杂度: O(N)
辅助空间: O(N)

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。