gpt4 book ai didi

c++ - 打印出字符串指针中获取的数据时出错

转载 作者:行者123 更新时间:2023-11-28 08:20:17 29 4
gpt4 key购买 nike

我正在尝试调用接口(interface)函数并打印出结果值。函数原型(prototype)包含指向字符串的指针作为参数。当我打印出结果值时,我收到一些奇怪的符号。我的以下方法是否正确?

int interfacecall(char *a, char *b ...);

char * a= "Testdata";
char b [4098];

result= interfacecall(a,b);

//different value is returned in b via function implementation in a third party dll.

printf(b);

最佳答案

你的 printf 不是那么安全。应该是:

printf("%s", b);  //corrected - safe!

在 C++ 中,您还可以将 std::cout 用作:

std::cout << b; //its simpler - must include<iostream>

确保 b 是一个以 null 结尾的 c 字符串,否则它会打印出垃圾信息并可能使您的程序崩溃。以 Null 结尾的字符串意味着它必须以 \0 结尾。像这样:

b[slen] = '\0'; //you may have to do this explicitly!

关于c++ - 打印出字符串指针中获取的数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6039867/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com