簡體   English   中英

如何從字符字符串數組中的字符字符串中刪除最后一個字符

[英]How to remove the last character from a char string, which is in an array of char strings

因此,我一直在嘗試從字符串(位於字符串數組中)中刪除最后一個字符。 我已經做了一些搜索,沒有找到任何解決方案的運氣。 我嘗試了memcpy或strcpy n-1個字節的實現,但尚未解決。

這是我要做什么的要點

char *array[3];
array[0] = "avg:";

我想創建一個新的char數組,並將其保存為“ avg”。

我以為我可以做這樣的事情,

char *array[3];
array[0] = "avg:";

char new[sizeof(array[0])-1];
strncpy(new,array[0],sizeof(new));

但這會產生一些時髦的輸出,即“avg¤ã@À‡¿”。 任何幫助,將不勝感激。

您沒有正確終止副本,您的字符串應始終以'\\ 0'結尾。

我會做:

char *array[3];
array[0] = "avg:";

char *new = (char *) calloc(strlen(array[0]),sizeof(char));
strncpy(new,array[0],strlen(array[0])-1);

因為內存分配將始終為您的char數組分配空內存。

在退出示波器之前,請確保您已free(new)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM