我正在處理一個字符串,其中每個單詞由空格分隔。 <表示它是輸入重定向,並且>表示它是輸出重定向。 例如:在C中,一次保存一個字符
<Hello> World
我想保存在不同的變量的話(的char *中,燒焦*總分) 我怎麼能這樣做?我查看了字符串庫,似乎沒有人能夠完成這項工作。
這是我迄今爲止關於這個問題。
char buff[MAXARGS];
char *str;
char *in;
char *out;
if(strchr(buff, '<') != NULL)
{
str = strchr(buff, '<');
str++;
if(*str == ' ' || *str == '\0' || *str == '\n' || *str == '\t')
{
fprintf(stdout, "User did not specify file name!\n");
}
else
in = str; // This will save Hello > World all together. I don't want that.
}
非常感謝。
你在** **真的想要做什麼?如果它「解析命令行」,那麼處理輸入和輸出重定向已經由shell進程完成。如果你正在嘗試閱讀和解析一個shell腳本或類似的東西,那麼C可能是實現語言最糟糕的選擇。 –
謝謝你的回覆! 是的,我正在寫一個簡化的shell程序,這是我的parse.c的一部分。真的嗎?因爲我的程序除了輸入,輸出重定向和背景外,還能完美地執行所有其他命令(例如:ls,exit,cat)。因此,我爲了解決這三個問題而增加了額外的功能。 – Dino55
@Karl,但最快...... – YAHOOOOO