读取字符串args

时间:2012-11-04 13:43:18

标签: c

您好,

我试图通过args [] - 参数将字符串读入我的代码,就像我在Java中所做的那样。 基本上,这就是我想要做的事情:

 - read the String "machine" over launch-parameter
 - go through every letter of that string in a loop
 - while in the loop, check is current letter equals "e"
 - if letter equals "e", replace it with "a"
 - return edited string

这是向C提出基本问题的最好方法。如果你不把这个帖子冒犯,我会很高兴。

我该如何实现该代码?

3 个答案:

答案 0 :(得分:1)

这是一个(几乎)不涉及指针的解决方案,但如果你要进行中等高级的C编程,你应该真正了解指针。

void replace_e_with_a(char str[])
{
    int i, len = strlen(str);
    for (i=0; i<len; i++) {
        if (str[i] == e) str[i] = a;
    }
}

int main(int argc, char *argv[]){
   int i;
   for (i = 1; i < argc; i++) {
     replace_e_with_a(argv[i]);
     puts(argv[i]);
   }
}

答案 1 :(得分:0)

这是应该有用的东西。

#include <stdio.h>

void replace_e_with_a(char * str)
{
    int i;
    if (NULL != str)
      while ('\0' != *str ) {
          if (*str == 'e')
              *str = 'a';
          ++str;
      }
}

int main(int argc, char **argv){
   int i;
   for (i = 1; i < argc; ++i) {
     replace_e_with_a(argv[i]);
     puts(argv[i]);
   }
}

答案 2 :(得分:-1)

你走了:

void replace_e_with_a(char * str)
{
    int i;
    if (!str)
        return;
    for (i = 0; str[i]; i++) {
        if (str[i] == 'e')
            str[i] = 'a';
    }
}

虽然没有编译它。