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 );

もちろん、有効な文字列 (文字配列) である必要がありますsecondfourth

于 2013-07-01T05:17:55.840 に答える
2

まず、C はオブジェクト指向ではありません。"String" 型はなく、メモリ内の文字配列へのポインターのみです。

標準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ただし、ソース文字列と宛先文字列の両方のすべての文字を調べて、それらの長さを調べる必要があるため、あまり効率的ではありません(null バイトが文字列の最後に配置され、ターミナル/センチネルとして機能します)。 .

于 2013-07-01T05:19:02.250 に答える
1

C には適切な文字列サポートがありません。代わりに、単なる文字配列である「C 文字列」を使用します。printfC 文字列と関数を使用して、必要なことを行うことができます。

const char * second = "sec";
const char * fourth = "four";
printf("First string %s Third %s\n", second, forth);
于 2013-07-01T05:17:37.910 に答える
0

私は C 言語と Loadrunner が初めてです。

止まる。GO を渡さないでください。コンサルティング料を徴収しないでください。 Cを学ぶ。

テストツールの言語の専門知識を持つことは、ツールを手に取って怒って使用する前に習得する必要がある基本的なスキルです. Jmeter と Java、SilkPerformer と Pascal などでも同じことが言えます。

LoadRunner の学習曲線は十分に大きいため、コアとなる基礎スキルを同時にブラッシュアップする必要はありません。特に、ツールとプロセスに関する正式なトレーニングを受けておらず、割り当てられていない場合は特にそうです。ある期間、場合によっては 1 年間、インターンシップに参加すること。

于 2013-07-01T13:54:50.710 に答える
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 に答える