2013-07-01 84 views
3

我是C語言和Loadrunner的新手。多字符串連接

我該怎麼做字符串連接在C.

僞代碼:

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

如果你的目標是隻打印連接字符串,那麼你可以做 的printf(「第一串%S三%的」,第二,第四); – shashank93rao

+1

使用strcat(string1,string2); – rags

+0

@devnull:如何編輯問題而不是愚蠢?我已經標記了你的評論。 – jgauffin

回答

11

如果您確信目標字符串可以容納,可以使用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應該是有效的字符串(字符數組)。

+3

+1,對於多字串聯而言,這比使用'strcat'幾乎肯定更有效。 – Cameron

+2

+1非常好!連接字符串的最佳方法。 – 0decimal0

1

C沒有很好的字符串支持。而是使用「C字符串」,它只是字符數組。你可以做你想做的使用C字符串和printf功能:

const char * second = "sec"; 
const char * fourth = "four"; 
printf("First string %s Third %s\n", second, forth); 
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有走的每一個字符在源和目標字符串以找出多久他們是(一個空字節放在字符串的末尾作爲一個終端/哨兵)。

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; 
} 
0

我是新來的C語言和LoadRunner的。

停止。不要通過GO。不要收取您的諮詢費用。 學習C.

在您的測試工具的語言方面具有專業知識是一個基礎技能,需要掌握之前拿起工具來憤怒地使用它。 Jmeter和Java,SilkPerformer和Pascal等也是如此......您可以通過LoadRunner獲得足夠大的學習曲線,您無需同時刷新核心基礎技能,尤其是所以如果你還沒有通過工具和流程的正式培訓,並且你在一段時間內沒有被分配到實習的一部分,在某些情況下你還沒有被分配到實習一年。