我想問一下,如果我有一個字符串「abcdefgh」,我希望它的一半成爲「abcd」和「efgh」並將它存儲到自己的字符串中,稱它爲「UpperHalf」和「LowerHalf」。所以要這樣做的方法是首先使用strlen()來找出我的輸入的長度和一半呢?那麼我需要使用strcpy()並將其複製到它們各自的字符串中嗎?把一個字符串分成了兩半,再加上另一個字符串
其實我甚至不知道我的代碼是否有意義。任何人都可以給我一些評論呢?
我意識到我只需要考慮即使是輸入數字,這意味着我不必擔心奇數輸入。以前我試圖把一個1d的字符串分成兩半,然後用另一個字符串進行strcat。但是現在我得到了一系列以二維數組格式存儲的輸入字符串。在這種情況下,我如何檢索這些字符串並將其操作,就好像它與前面的1d案例一樣?我不認爲我需要使用循環?我可以指向行嗎?
int d = strlen(str); // just an example where str = the characters inside my string
strcpy(temp, &str[0]); // store original string into a temp string starting from 0 to \0
str[d/2] = '\0';
strcpy(UpperHalf, &str[0]); // starts copying from position 0 to \0 which is the half way point
str[0] = temp; //revert back to normal -> Does this line even make sense?
strcpy(LowerHalf, &str[d/2]);
替換 '/μ0' 與 '\ 0' – user3159253
感謝。我糾正了它,但邏輯明智的任何意見?有點第一次做絃樂。 – Morde
你*知道陣列自然衰減指向他們的第一個元素?這意味着如果你有一個數組'str'並將它傳遞給一個帶指針的函數,編譯器將傳遞的內容與'&str [0]'實際上是一樣的。所以你不必明確說明它,只要通過'str'就可以工作。 –