2016-11-12 60 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

相關問題