realloc

    2熱度

    2回答

    我想從套接字保留動態內存。響應的大小是可變的,所以我想用realloc來分配正確的內存大小。 這是代碼片段,照顧它: char *ptr = (char*)calloc(sizeof(char),1024); char *ptr2 = (char*)calloc(sizeof(char),1024); //printf("aaaaaaa %p bbbbbbbb",ptr); int nDat

    0熱度

    2回答

    我想使用getline()和realloc()將文件讀入一個字符串數組。過去我使用非常類似的代碼來標記字符串,並且一切正常。我會考慮樣本輸入文件 1 2 3 4 5 下面的代碼: char** read_input(const char* input_file, char* line){ FILE *fp; size_t len = 0; size_t

    3熱度

    2回答

    我見過malloc()和realloc()使用了一堆不同的方法。在測試了各種方法後,我很想知道我是否正確使用它們? 首先我想 int size = rowSize * colSize; int newSize = size + rowSize; int *randomNum; randomNum = malloc(size * sizeof *randomNum); randomNu

    3熱度

    2回答

    typedef struct { int count; int *items; }set; set* set_alloc(set *src, int num); int set_insert(set *s, int num); int main() { set *A = NULL; A = set_alloc(A, 0); A = se

    0熱度

    2回答

    我對C非常陌生。我試圖編寫一個在I/O流中查找字符串的代碼,但我不明白我做錯了什麼。我知道這個錯誤可能是在大的while循環中(在下面的代碼中)。 我希望函數以字節的形式從流的開頭返回位置,如果由於某種原因失敗,則返回-1。它只是保持返回-1爲我嘗試它的任何文件。 long find_string(const char *str, const char *filename, long offset

    3熱度

    2回答

    我知道還有其他realloc問題和答案噸,我幾乎讀了所有這些,但我仍然無法解決我的問題。 我決定停止嘗試,當我意外地發現我的代碼非常奇怪的行爲。 我引入了一條線來嘗試一些東西,但是雖然我沒有在main中使用newElems的值,但該行改變了行爲。 當該行被註釋時,代碼首先失敗realloc。包括該行,第一個realloc的作品。 (它仍然在第二個崩潰)。 關於可能發生什麼的任何想法? int ma

    0熱度

    1回答

    我知道這個用例可能聽起來有點奇怪,但我需要了解是否有可能做類似的事情。 這是我的代碼,它會導致Aborted (core dumped)崩潰: char *my_str = "Hello World"; my_str = realloc(my_str, 50); - 你能請幫助我理解爲什麼它會崩潰? - 是否有一個標準的/優雅的方式將原始字符串複製到動態內存,除了下面的一個?使用這對我真的很

    0熱度

    2回答

    在我的程序中,我從.txt文件接收文本。下面是一行文字的例子: 12X15 DE3 DS4 dn9 g2,7 m5,9 m3,1 h2,2 我想使用的strtok()分手的每塊文本;然後我將把每個塊作爲一個元素放入一個數組中。所以一串字符串。 這是到目前爲止我的代碼: void parseFile(char ** argv) { FILE *textFile; char *st

    0熱度

    1回答

    我該如何強制Realloc行爲像calloc? 例如: 我有以下結構: typedef struct bucket0{ int hashID; Registry registry; }Bucket; typedef struct table0{ int tSize; int tElements; Bucket** content; }Tab

    0熱度

    2回答

    請看下面的代碼 char *line = (char *) malloc(100); char *newline,*source = line; int size=100; newline = realloc (line , size +=size); // assuming that newline has been successfully assigned the demanded