如何在C中打印字符串的一部分

时间:2014-06-15 13:20:02

标签: c string character

我想打印一部分字符串。我的程序应该从begin打印字符,直到字符串为例如字符:\"

例如:

char* text = "abcdef\"ghij";

我想得到:abcdef

我没有C经验,所以请以明确的方式帮助我。

3 个答案:

答案 0 :(得分:4)

使用*字段宽度选择要打印的字符数:

#include <stdio.h>
#include <string.h>

char* text = "abcdef\"ghij";
printf("%.*s\n", (int) (strchr(text, '"') - text), text);

答案 1 :(得分:3)

在循环中通过char打印char,直到停止字符出现或当前字符变为假,即为空终止符。

#include <stdio.h>

char* text = "abcdef\"ghij";
char stop = '"';

for (char *i = text; *i && *i != stop; i++)
    putc(*i, stdout);

答案 2 :(得分:-1)

int i=0;    

while(i < sizeof(text))
  {
     if(text[i] == '\"')
    break;
 else 
    printf("%c",text[i]);

  i++;
  }