储存用户输入(C)之前格式最好的方式?

时间:2018-08-10 08:53:49

标签: c scanf

所以我是C语言的新手,我正在编写一个程序,该程序需要用户输入并将其分为两个部分。

>char beforeColon;
>char afterColon[35];
>user enters: "u:some stuff"
>beforeColon = 'u'
>afterColon = "some stuff"

基本上,我想将u存储在一个char变量中,并将some stuff存储在char数组中,但是到目前为止,我只能通过使用{ char的{​​1}}数组。我还想知道如果将beforeColon更改为一个整数是否可以工作,这样我就可以获取用户输入的beforeColon的ASCII码。

这是我的代码:

char

2 个答案:

答案 0 :(得分:0)

#include <stdio.h>

int main(void)
{
    char afterColon[35];
    char beforeColon;
    int ASCII_of_bc;

    scanf("%c:%s", &beforeColon, afterColon);
    ASCII_of_bc = (int) beforeColon;
}

参考:

  1. http://www.cplusplus.com/reference/cstdio/scanf/

答案 1 :(得分:0)

您可以使用 strtok() 功能:

char user_enters[13]= "u:some stuff";
char *ret_pointer=NULL;

ret_pointer = strtok(user_enters, ":");

if(ret_pointer){    
    //Get the beforeColon character set <ret_pointer>
}
ret_pointer = strtok(NULL, ":");  

if(ret_pointer){
    //Get the afterColon character set <ret_pointer>
}