English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

#include using std::cout;using std::cin;using std::endl;void empty( char );void main() {    char str[100];    cout << "請輸入字串: ";    cin  >> str;    cout << "輸出結果:" << empty( str ) << endl;}void empty( char s[] ) {    for( int i = 0; i < strlen(s); i++ ) {        if( s[i] == '\\0' ) {            s[i] = s[i++];            i = 0;        }    }    cout << s;}順便問一下一般是用什麼來命名這個函式的呢!? Ltrim??

2006-10-15 00:24:26 · 5 個解答 · 發問者 NidgetGod 6 in 電腦與網際網路 程式設計

5 個解答

這個程式有些小問題
1. cout << "輸出結果:" << empty( str ) << endl;
但是empty回傳void, 結果是在empty這個function裡面做cout,
這樣外部的cout就變成多餘的了!
如果要使用empty中處理過的字串,建議empty宣告成char* empry(char* s)會比較好一點
2. for( int i = 0; i < strlen(s); i++ ) {
if( s[i] == '\0' ) {
s[i] = s[i++];
i = 0;
}
也就是說 if( s[i] == '\0' )
s[i] = s[i];
i++;
i = 0;
我想這樣是相同的意思....但是....用意?...
所以基本上照原本的程式來講,empty這個function是多餘的..
cout << "請輸入字串: ";
cin >> str;

cout << "輸出結果:" << empty( str ) << endl;
其實只需要cout << "輸出結果:" << str << endl;就可以達到效果了..
難道有特殊用意?這我就看不太出來了...@@

2006-10-15 05:20:43 · answer #1 · answered by 子彥 2 · 0 0

1. 先檢查參數是否為NULL. 2. 用isspace()代替"檢查是否為空白". isspace()的定義是(0x09-0x0D,0x20)為true!

2006-10-17 12:56:20 · answer #2 · answered by 豬鼻子大媽 2 · 0 0

用 Trim() 移除所有空白, TrimLeft(), TrimRight() 清除左/右空白

char* Trim(char* pStr)
{
int nLen = strlen(pStr);
char* pTarget=pStr;
for ( int i=0; i if ( ' ' != pStr[i] ) { // 不是空白時,要複製這個字元
*pTarget++=pStr[i];
}
}
*pTarget='\0'; // 填入字元結束符號
return pSrc;
}

void main()
{
... // 不變
}

2006-10-15 06:05:35 · answer #3 · answered by none 4 · 0 0

不行耶...一樣的錯誤!!

2006-10-15 05:00:47 補充:
homework1011_3.cpp(16) : error C2664: 'empty' : cannot convert parameter 1 from 'char [100]' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast


這是改過後的錯誤訊息...不瞭它的意思!!

2006-10-15 00:58:29 · answer #4 · answered by NidgetGod 6 · 0 0

cout << "輸出結果:" << empty( str ) << endl;
把這行改成……
cout << "輸出結果:";
empty( str );
cout << endl;

還有我不太懂你的函式是在做啥麼?

2006-10-15 08:42:51 補充:
void empty( char );
要改成……
void empty( char s[] );

2006-10-15 00:42:49 · answer #5 · answered by Big_John-tw 7 · 0 0

fedest.com, questions and answers