gpt4 book ai didi

创建一个用零填充的特定维度的文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:18:57 26 4
gpt4 key购买 nike

我正在尝试创建一种方法,在给定多个字符串的情况下,将它们合并在一起。现在,这就是我想出的。 main 纯粹是为了测试,所以最后我一次只有一个部分字符串,该部分在完整字符串中的位置,以及我需要放置这些部分的最终字符串。

int mergeParts(char* text, char* part, int position){
int printSpot = position * CONTENTSIZE;

strcat(text[printSpot], part);
printf("%s\n", text);

return 0;
}

现在,这段代码的问题是段错误,我尝试了多种方法,但唯一似乎有效的方法是使用 strcat(text, part); 而不使用“位置”必须复制其中的字符串部分。

#define CONTENTSIZE 10
int main(){
int i;
char* part1 = "This is a ";
char* part2 = "test with ";
char* part3 = "something ";
char* part4 = "that i wro";
char* part5 = "te in it";

int totParts = 5;
char* parts[totParts] = {part1,part2,part3,part4,part5};
int stringSize = totParts * CONTENTSIZE;
char* finalString = malloc(stringSize);

for(i = 0; i<totParts; i++){
mergeParts(finalString, parts[i], i);
}

return 0;
}

我怎样才能做到这一点,为字符串指定复制部分的位置。

我可以给你一个很好的例子来更好地解释我正在寻找的是:

我有一个空字符串"----------------------------"

我必须在里面写“This”; “是一个”; “考试”; “请”; “f”; "文本";

如果我收到 "exam";,我的字符串中的结果必须是 "------------ exam-------- ------"。然后我收到“文本”;所以结果将是 "------------ exam------------ text"

依此类推,直到我得到 "This is an example of the text";

最佳答案

似乎strcat(text[printSpot], part);是重点。我认为你应该使用 strcat(&(text[printSpot]), part);反而。 text[printSpot]将具有实际的字符数据,如 'e' ,而不是 strcat 所需的字符串地址.

或者您可以使用 strcat(text+printSpot,part)很简单。

关于创建一个用零填充的特定维度的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49197349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com