冷回清风暖 发表于 2020-11-15 21:45:37

strcat函数使用问题

为什么第7行和第八行的两处的字符不能连接起来呢{:5_104:}
附上代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>


int main(void) {
        char* path = "CutFile";
        char fileno = '0' + 1;
        strcat(path, fileno);
        strcat(path, ".txt");
        return 0;
}
把第9行改成这样也不行{:5_104:}
        strcat(path, &fileno);
调试截图:

baige 发表于 2020-11-15 21:48:09

通过字符指针直接指向的字符串是不能被修改的

冷回清风暖 发表于 2020-11-15 21:51:08

baige 发表于 2020-11-15 21:48
通过字符指针直接指向的字符串是不能被修改的

&#128077; 谢谢了

冷回清风暖 发表于 2020-11-15 21:55:08

baige 发表于 2020-11-15 21:48
通过字符指针直接指向的字符串是不能被修改的

再打扰下 我改成了这样 可以了
        char path[] = "CutFile";
        char* fileno = '0' + 1;
        strcat(path, &fileno);
不过为什么fileno必须要定义成char,传入strcat的参数必须是fileno的地址呢。
他的第二个参数不是一个 const char* 吗 。
对fileno取地址 不就是char**了吗..
我试了下只有这样可以

baige 发表于 2020-11-15 22:21:41

冷回清风暖 发表于 2020-11-15 21:55
再打扰下 我改成了这样 可以了

不过为什么fileno必须要定义成char,传入strcat的参数必须是fileno的地 ...

不可以吧,编译器直接报错,dev,vs2019

冷回清风暖 发表于 2020-11-16 10:39:01

baige 发表于 2020-11-15 22:21
不可以吧,编译器直接报错,dev,vs2019

我的成功了,VS2019
页: [1]
查看完整版本: strcat函数使用问题