4

我是 C 语言和 Loadrunner 的新手。

如何在 C 中进行字符串连接。

伪代码:

String second = "sec";
String fouth = "four";
System.out.println("First string" + second +"Third" + fouth);
4

5 回答 5

14

如果您确定目标字符串可以容纳,您可以使用snprintf,

#define SIZE 1024

char target[ SIZE ];
// .. ..
snprintf( target, sizeof( target ), "%s%s%s", str1, str2, str3 );

对于你的情况,

snprintf( target, sizeof( target ), "%s%s%s%s", "First string", second, "Third", fourth );

当然,second而且fourth应该是有效的字符串(字符数组)。

于 2013-07-01T05:17:55.840 回答
2

好吧,从 C 开始,它不是面向对象的——没有“字符串”类型,只有指向内存中字符数组的指针。

您可以使用标准strcat调用完成连接:

char result[100];    // Make sure you have enough space (don't forget the null)
char second[] = "sec";    // Array initialisation in disguise
char fourth[] = "four";

strcpy(result, "First string ");
strcat(result, second);
strcat(result, "Third ");
strcat(result, fourth);

printf("%s", result);

但这不会很有效,因为strcat必须遍历源字符串和目标字符串中的每个字符才能找出它们的长度(在字符串的末尾放置一个空字节以充当终端/哨兵) .

于 2013-07-01T05:19:02.250 回答
1

C 没有很好的字符串支持。相反,您使用“C 字符串”,它们只是字符数组。您可以使用 C 字符串和函数执行您想要的操作printf

const char * second = "sec";
const char * fourth = "four";
printf("First string %s Third %s\n", second, forth);
于 2013-07-01T05:17:37.910 回答
0
#include<stdio.h>  
#include<string.h>   

int main(void)  
{  
  char buff[20];  
  char one[] = "one";  
  char two[] = "two";  
  char three[] = "three";  
  char four[] = "four";  
  memset(buff,'0',sizeof(buff));  

  //strcat(buff,(strcat(one,(strcat(two,(strcat(three,four)))))));  
  ////Why the above doesnt work???  ////
  strcat(two,three);  
  strcat(one,two);  
  strcat(buff,one);  
  puts(buff);    
  return 0;  
}  
于 2013-07-01T05:28:16.757 回答
0

我是 C 语言和 Loadrunner 的新手。

停止。不要通过GO。不要收取您的咨询费。 学习 C。

掌握测试工具语言方面的专业知识是在拿起工具以愤怒地使用它之前需要掌握的基础技能。Jmeter 和 Java、SilkPerformer 和 Pascal 等也是如此……

您将拥有足够长的 LoadRunner 学习曲线,您无需同时复习核心基础技能,尤其是如果您尚未接受过有关工具和流程的正式培训,并且您还没有被分配到参加一段时间的实习,在某些情况下长达一年。

于 2013-07-01T13:54:50.710 回答