如何从c中的字符串中获取多个字符

时间:2014-05-02 00:02:50

标签: c string

我知道这对你来说听起来很容易,但我已经在互联网上做了一项研究,但我找不到我想要的东西。 我想从一个字符串中取出多个字符。例如:

char str1[10];  
printf("Give me a word: \n") ;
gets(str1);

让我们说我要打字:Stack。如何从此字符串中获取两个并排字符?例如:

char str2[10];

有没有办法按顺序str2 = tac?

3 个答案:

答案 0 :(得分:2)

int i;
char str1[] = "Stack";
char str2[10];

for (i = 1; i < 4; i++)
    str2[j++] = str1[i];

str2[j] = "\0";

它将返回“tac”。你可以写一个关于这个的简单函数。你的函数应该有2个参数,你想要的第一个字母和你想要的最后一个字母。

所以在这种情况下:

1 - &gt;你要的第一个字母

4 - &gt;你想要的最后一封信

我用Jonathan的解决方案编辑了我的代码。如果你不理解这个解决方案,你也可以看一下:

for (i = 1, j = 0; i < 4 && j < 3; i++, j++)
    str2[j] = str1[i];

答案 1 :(得分:0)

在偏移量处启动指针并遍历字符串,直到找到空字节,并将新字符串存储在其他位置。

答案 2 :(得分:-1)

http://www.tutorialspoint.com/c_standard_library/c_function_gets.htm

我认为这就是你要找的东西。 :)