将argv字符串传递给C中的函数

时间:2013-01-27 22:54:07

标签: c string function argv

我知道有关于此的帖子,我试图通过它们,他们似乎没有解决我的问题。我猜这很简单,我忽略了,但我发誓我没有看到它。

所以这里......

来自主

char *newstr = argv[3];
header(newstr);

功能标题

void header(char *read_file){

我得到'header'的冲突类型,并警告:从不兼容的指针类型传递'header'的参数1。

我浏览了来自this thread的参考链接,看起来我正在遵循传递参数的正确途径。我唯一的猜测是它与argv有关。

这也是我的args,在我绊倒之前我一直在使用它们。

-q Imhere.txt b.txt dynArray.c b.txt

2 个答案:

答案 0 :(得分:1)

这对我编译很好(使用gcc版本4.2.1(基于Apple Inc. build 5658)(LLVM build 2336.1.00)):

#include <stdio.h>

void header (char *read_file) {
    printf("%s\n", read_file);
}

int main(int argc, char* argv[]) {
    char *newstr = argv[3];
    header(newstr);
    return 0;
}

带输出:

$ ./a.out -q Imhere.txt b.txt dynArray.c b.txt
b.txt

答案 1 :(得分:0)

在编译选项之后,执行此操作 [gcc ........ 2&gt; ERROR.TXT]

然后在这里发布这些错误,以便我们可以看到错误。