我有一個字串:
model name : Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
我想洗掉前 10 個字符,這樣字串的開頭就是 CPU 的名稱。
本質上,如何洗掉第一個空格,而不是實際名稱中的空格?或者,如何洗掉該字串的前 10 個字符?
uj5u.com熱心網友回復:
如何洗掉前 10 個字符
只需將 10 添加到您的字符指標。盡管在您的示例中,您似乎實際上需要 18 個,而不是 10 個。
uj5u.com熱心網友回復:
您可以使用memmove來移動字串的內容。
#include <stdio.h>
#include <string.h>
#define OFFSET 18
int main(void) {
char string[] = "model name : Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz";
memmove(
string,
string OFFSET,
strlen(string) 1 - OFFSET);
printf("<<%s>>\n", string);
}
<<Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz>>
uj5u.com熱心網友回復:
如果您只想訪問字串的尾隨部分,您可以簡單地偏移 18 個字符(不是問題中提到的 10 個)。
char * pointer_to_cpu = &longstring[18];
如果您想永久洗掉它們,memmove答案就是您需要的
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/497083.html
上一篇:AttributeError:UnionC物件沒有屬性
下一篇:在檔案字串中使用元組作為檔案名
