【发布时间】:2015-08-08 04:55:08
【问题描述】:
我想用不同字符串的前两个字符组成一个字符串
所以我有:
int main(int argc, string argv[])
{
string s = argv[1];
string key = // here is where I dont know how to get the first 2 chars.
printf("%s\n", key);
}
如果argv[1] 是:1220kjs,我需要字符串“key”为 12,argv[1] 可以是数字或字符。所以如果 argv[1] 输入为 jths528as,我需要字符串“key”为“jt”。
我尝试了各种方法,但无法编译。 s.Substring(0,2) 给我错误:成员引用基类型 'string' aka 'char *') 不是结构或联合
我找到了解决办法:
string t = argv[1];
char key[3];
strncpy(key, t, 2);
key[2] = '\0';
【问题讨论】:
-
argv是一个二维数组,那么如何取值argv[1] is: 122085 -
@un-lucky 看来 argv 应该是一个字符串数组。
-
在我们知道 argv 是什么类型之前,很难给你一个好的答案
-
您的问题不清楚。字符串
b与该问题有什么关系?正如其他人所说,您需要告诉我们argv是什么类型。 -
如果 argv 是一个 string[],那么 string a = argv[1];如果 argv 中至少有两个元素,string c = a.Substring(0, 2) 就可以工作。