2011-09-21 56 views
0

HI我有以下三个字符串,上面的代码如何用字符串中的数据替换访问说明符?

char* string1, string2, string3; 
printf("First string = %s", string1); 
printf("Second string = %s", string2); 
printf("Third string = %s", string3); 

输出是,

First string = My Content is : %s, My value is : %d 
Second string = Open source OS 
Thirf string = 100 

现在我需要在%S &%d simultaneousaly的地方合并字符串2和STRING3内容,所以我应该得到以下字符串,

My Content is : Open source OS 
My value is : 100 

任何人都可以建议我如何将上述两个字符串添加到另一个字符串。 在此先感谢。

+0

您可以指定字符串1,字符串和STRING3在代码中更精巧? –

+0

没有人注意到。但是你只有一个字符串'string1'和两个char变量。 'string2'和'string3'实际上只是字符。因此第二个第三个printf()语句是无效的。因此,他们为什么工作是一个完全的谜,或者你已经犯了一个错误的粘贴错误。 –

回答

1

使用sprintfprintf沿:

char format[1024]; 
sprintf(format, "First string = %s", string1); //this makes the format string 
printf(format, value1, value2); //this prints output with the formatted string 
+0

谢谢纳瓦兹,你能告诉我什么是格式?我试图通过使用char *,但它没有给出预期的结果。 – BSalunke

+0

@BSalunke:'format'被声明为'char format [1024]'。注意到那个? – Nawaz

+1

非常感谢,它与你的解决方案很好地工作。 – BSalunke

2

尝试:

printf(string1, string2, atoi(string3)); 
+1

嗨伊兰,不,它不工作。你有没有其他解决方案? – BSalunke