我在打印/显示 char *string
时遇到问题
这是我的字符串
char *messageForServer = ("netsvr type0 dobrien %s- %s",inet_ntoa(clientAddr.sin_addr),port);
当我去打印它时
printf("%s\n",messageForServer);
它只会打印字符串的port
部分。
如果有任何帮助,我将不胜感激,因为它困扰了我几个小时,而且似乎找不到答案
最佳答案
你应该这样做:
char messageForServer[100];
sprintf(messageForServer, "netsvr type0 dobrien %s- %s", "something", "8080");
printf("%s\n", messageForServer);
UPD:打印以下内容
netsvr type0 dobrien something- 8080
您的代码不起作用的原因是 - 好吧,您尝试获取格式化字符串的方式与 C 中的字符串格式化无关。请参阅 Creating C formatted strings (not printing them)了解更多信息。
关于c - 打印c字符串指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26981048/