2016-11-12 43 views
0

首先,我正在研究一个基于用户输入的C程序,它返回不同的东西。我有这个功能给定一个行分隔符,它经过的线路,并且将串入取决于分隔字符串,并返回字符串根据索引的索引:获取输入的子字符串,从一个点到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()保存用户在一个全局变量字符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); 
} 

回答

0

如果你编译的二进制文件被调用例如pmsg和你想,你必须使用引号消息

​​

四周,然后使用主要的论点论据来调用它。下面是一个例子:

int main(int argc, char const *argv[]) 
{ 
    int i;  
    printf("output : private message (%s) : %s\n", argv[1], argv[2]); 

    return 0; 
} 

这里argv[1]是用户名和argv[2]是整个消息。
检查如何使用参数与主herehere

相关问题