红联Linux门户
Linux帮助

C语言中如何将 “字符串变量” 转化为“字符串常量”?

发布时间:2011-04-06 23:54:41来源:红联作者:操德文
C语言中如何将 “字符串变量” 转化为“字符串常量”?
我在用文件函数,遇到了问题,如发fopen(const *char,const *char);
我用一个文件名,是存在字符串变量str,如何去fopen呢?
文章评论

共有 4 条评论

  1. pl_014 于 2011-04-07 21:32:04发表:

    fopen这个函数把参数声明为指向字符串常量的指针,意思是在函数内部无法修改这个指针所指向的内容。

  2. 操德文 于 2011-04-07 12:57:09发表:

    谢谢!我明白了,参数传递是值传递{:3_114:}

  3. pallana 于 2011-04-07 07:58:59发表:

    [i=s] 本帖最后由 pallana 于 2011-4-7 17:01 编辑 [/i]

    指针,指向一个地址,把一个字符串传递给指针变量,仅仅是把字符串的头地址传递了过去,而并没有把字符串的内容给指针。所以指针只管开始,不管字符串多长,也不管什么时候结束的。
    字符串的结束由一个字符串结束标志'\0'来界定的。

  4. lykginy 于 2011-04-07 00:39:33发表:

    fopen(const *char,const *char);
    不参数传进去后形参是常量不可改 与str是不是常量无关

    FILE *fin;
    char str[255] = "test.in";
    fin = fopen(str, "r");
    就是以读模式打开test.in文件