目前想到很蠢的方法如下:
24 while (i < strlen(str)){
25 //printf("%c\n", str[i]);
26 if((str[i] == ' ') && (flag==0)){
27 flag=1; i++;
28 }
29 if(flag==0) str2[i]=str[i];
30 if(flag==1) {str3[j]=str[i]; j++; }
31 i++;
32 }
改法二
24 while(str[i]!='\0' && str[i]!=' '){
25 str2[i]=str[i];
26 i++;
27 }
28
29 while(str[i]!='\0'){
30 str3[j]=str[i];
31 i++;
32 j++;
33 }
請問各位大大還有更好的做法嗎?
謝謝~謝謝~
※ 引述《blueguan ()》之銘言:
: 開發平台(Platform): (Ex: Win10, Linux, ...)
: LINUX
: 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
: GCC
: 問題(Question):
: 用第一個空格為分隔點,將一段含有空格的字串1分為2
: 餵入的資料(Input):
: This is a book.
: 預期的正確結果(Expected Output):
: This
: is a book
: 目標是能簡化,不想要1個1個char來做copy
: 想請問大家是否有很棒的作法...
: 感謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.42.35
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1504664351.A.C0B.html
→
09/06 10:35, , 1F
09/06 10:35, 1F
→
09/06 10:41, , 2F
09/06 10:41, 2F
→
09/06 10:41, , 3F
09/06 10:41, 3F
→
09/06 10:43, , 4F
09/06 10:43, 4F
→
09/06 10:45, , 5F
09/06 10:45, 5F
→
09/06 10:51, , 6F
09/06 10:51, 6F
→
09/06 10:53, , 7F
09/06 10:53, 7F
→
09/06 10:53, , 8F
09/06 10:53, 8F
→
09/06 10:54, , 9F
09/06 10:54, 9F
→
09/06 10:55, , 10F
09/06 10:55, 10F
→
09/06 10:55, , 11F
09/06 10:55, 11F
→
09/06 10:55, , 12F
09/06 10:55, 12F
→
09/06 11:04, , 13F
09/06 11:04, 13F
→
09/06 11:05, , 14F
09/06 11:05, 14F
→
09/06 11:06, , 15F
09/06 11:06, 15F
→
09/06 11:06, , 16F
09/06 11:06, 16F
→
09/06 11:08, , 17F
09/06 11:08, 17F
→
09/06 11:12, , 18F
09/06 11:12, 18F
※ 編輯: blueguan (223.136.42.35), 09/06/2017 11:13:23
→
09/06 13:37, , 19F
09/06 13:37, 19F
推
09/12 16:21, , 20F
09/12 16:21, 20F
討論串 (同標題文章)