首先,我正在研究一个基于用户输入的C程序,它返回不同的东西。我有这个函数,给一行一个分隔符和一个索引,它通过该行,并根据分隔符将字符串分成子串,并根据索引返回子字符串:
void get_substring(char line[], char result[], char separator, int index){
int i, j=0, my_index=0;
for(i=0; line[i] != '\0'; i++){
if(line[i]==separator)
my_index++;
else if(my_index == index)
result[j++]=line[i];
}
result[j]='\0';
}
所以基本上我在控制台上写 / pmsg用户你好我是约翰我使用函数get_substring()将用户保存在全局变量char a_result2中[]和整个输入行保存在名为a_message []的全局变量中。函数 / pmsg 的输出应为:
**output : private message (user): Hello I'm John**
问题是我不知道如何检索整个消息,因为消息可能由很多单词组成,而我的函数get_substring如果我知道消息的长度,我只能得到子字符串。如果你能帮助我,我将非常感激,谢谢。这是我已经使用的函数pmsg的代码:
void pmsg(){
printf("output : private message (%s): ", a_result2);
}