嗨非常新手的问题,但我无法弄清楚:
我有一个名为bar的函数
class foo
{
public:
bool bar(int argc, char** argv);
}
Run Code Online (Sandbox Code Playgroud)
argv应该包含
"--dir" and "/some_path/"
Run Code Online (Sandbox Code Playgroud)
如何创建argv和argc以便我可以将它们传递到bar()?我尝试了很多方法,但我无法获得指针和类型转换.
因此,我不想从命令行获取argv,而是想在代码中创建它.
谢谢你的任何输入!
平台:Linux,OSX
编译器:GCC
我有一个简单的程序,目前让我感到困惑 - 我知道我正在搞乱几种不同类型的数组/指针来产生这个问题 - 它是故意的 - 我试图理解它.
列出的代码将按预期编译和运行,但会data4在调用中strsep(&data4, "e");更改data1或data3导致分段错误.我想了解原因.
#include <stdio.h>
#include <string.h>
int main(int c, char** v) {
char* data1 = "hello\0";
char* data2 = strdup(data1);
size_t sz = strlen(data1);
char data3[sz+1];
char* data4;
memset(data3, 0, sz+1);
data4 = strncpy(data3, data1, sz);
data4[sz] = '\0';
char* found = strsep(&data4, "e");
if (found == NULL) {
printf("nothing found\n");
} else {
printf("found e\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)