[英]How would I merge these two arrays? C
我正在做学校作业,在弄清楚如何合并这两个数组时遇到了麻烦。 我必须将每个数组的一半合并到第三个数组中。 我正在转动轮胎,我想我已经在考虑必须做什么。 我不想浪费您的时间来解释我尝试过的所有事情。 任何帮助将不胜感激,如果您发布任何代码,也可以向我解释它在做什么,因为我想(尽可能多地)了解正在发生的事情!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 254
int main()
{
使用用户输入在此处捕获字符串
char string_1[SIZE];
printf( "Please enter a long string: " );
fgets ( string_1, SIZE, stdin );
获取字符串长度以计算字节大小
size_t ln = strlen(string_1) - 1;
if (string_1[ln] == '\n')
string_1[ln] = '\0';
重复...
char string_2[SIZE];
printf( "Please enter a long string: " );
fgets ( string_2, SIZE, stdin );
size_t ln2 = strlen(string_2) - 1;
if (string_1[ln2] == '\n')
string_1[ln2] = '\0';
打印两个字符串的字节大小。
printf("String 1 is %zu bytes long, and String 2 is %zu bytes long", ln, ln2);
我想表达
return 0;
}
检查此代码使用strncpy
char string_3[2*SIZE + 1];
strncpy(string_3, string_1, strlen(string_1)/2);
string_3[strlen(string_1)/2] = '\0';
strncpy((string_3 + strlen(string_3)), string_2, strlen(string_2)/2);
string_3[strlen(string_1)/2 + strlen(string_2)/2] = '\0';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.