【发布时间】:2014-12-14 23:53:49
【问题描述】:
这是一个非常基本的问题,但我无法通过谷歌找到任何相关信息。 因此,假设一个主函数传递了一些输入字符串。我正在尝试
main(argc, const char* argv[]) {
char* test = argv[1]; // works but gives error if not at beginning of function
char* test2;
test2 = argv[2]; // error: invalid casting from const type
char* test3;
strcpy(test3, argv[3]); // run-time failure
char test4[10];
strcpy(test4, argv[4]); // works but what if the input string's length cannot be guaranteed
}
这太基础了……但我却一无所知。
【问题讨论】:
-
始终说明您遇到的什么错误。此外,您的
main声明并不完全完整。删除const后会发生什么? -
顺便说一句,
run-time failure的原因应该很明显:您正在将数据复制到“无处”(实际上是任何地方)。 -
@Martin James 输入只是任意字符串。
-
pseudocode 给您的编译和/或运行时错误如何“明显”?
-
因为那些具有相同格式和不同变量名的行在我的程序中给了我错误............我应该提交我的350行程序只是为了几行有问题?我还必须展示我正在尝试的不同事物。我在问一个关于字符串概念的问题,而不是“查看我的代码”问题。我想问这个问题的更好方法是“为什么第一种和最后一种方式有效(但形式不好),而其他两种方式无效”。