strcpy

    2熱度

    3回答

    我很困惑,爲什麼會發生這種情況,儘管我以前使用過這樣的語句。我將一個字符串複製到其他字符串中,即使在調用strtok之前,我的原始字符串也會被損壞。這是相關的代碼片段,在此之後我使用strtok。但在此之前,我看到reference已損壞。 int j, sizeref; char *str1, *token; printf("%s :", reference); sizeref = st

    4熱度

    2回答

    假設我有一些遺留代碼,它是使用對C STL函數(如strcpy)的不安全調用編寫的。我們都知道strcpy是不安全的,因爲它會讓程序容易受到緩衝區溢出問題的影響。假設我要將所有呼叫替換爲strcpy,並撥打電話strncpy。將所有呼叫替換爲strcpy(dest, src)的技術將涉及使用參數(dest, src, length of dest - 1)呼叫strncpy,然後使用\0終止des

    3熱度

    1回答

    爲了鍛鍊我在C語言中的編程技巧,我試圖自己編寫strncpy函數。這樣做,我一直在犯錯誤,解決他們中的大多數,最終我陷入了沒有進一步的靈感繼續下去。 我收到的錯誤是: ex2-1.c:29:3: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘int’ [-Wformat=]

    1熱度

    2回答

    時出現分段錯誤 擊中了! 下面是我今天做的一個小程序。它需要一個字符串表,反轉所有字符串而不反轉表,然後對這些反轉的字符串進行排序,然後將它們反轉回來,最後打印整個表格。 我想知道爲什麼我不能將'slowo'字符串複製到指向strcmp的表中,但沒有成功。如果有人會在這種情況下找到解決分段錯誤的方法,我會很高興,但我真的想離開下面的方法。 感謝您的幫助! :) 編輯通過使用調試器我確定分割故障出現

    0熱度

    3回答

    好了,我試圖解決我的C++任務,但是當我使用strcpy_s它僅適用於我的陣列,而不是我的*指針。這裏就是我一起工作: HotelRoom::HotelRoom(char Num[], int cap, double daily, char* name, int Stat) { strcpy_s(room_Num, Num); //copy first argument into room_N

    1熱度

    2回答

    我有一個動態分配的char數組,其中pre_padding_buffer(大小爲8)和post_padding_buffer(大小爲6)。我需要複製該字符串到一個字符指針這樣的: [ ][ ][ ][ ][ ][ ][ ][ ][e][x][a][m][p][l][e][ ][ ][ ][ ][ ][ ] 的墊襯不可選的,由機器的我與通信(它可以填充空/垃圾數據的規範要求,它被覆蓋了)。 目前

    1熱度

    1回答

    如果我這樣調用strcpy函數的最佳方式: char *s = NULL; strcpy(&s, "Test"); 在主函數 ,這會是最好的去實現: 或有更好的方法來實現該功能? 謝謝!

    0熱度

    2回答

    我必須在7行代碼中編寫strcpy()和strcat(),並處理可能存在的任何異常。這是我的代碼到目前爲止。有沒有人對我如何減少行數有任何建議? char *mystrcpy(char *dst, const char *src) { char *ptr; ptr = dst; while(*dst++=*src++); return(ptr); }

    0熱度

    3回答

    我有以下代碼將打印來自給定目錄的所有文件名。 但是錯誤是Segmentation fault (core dumped)。 我沒有經驗與指針使用strcpy。 skipping include extern int errno; typedef struct fileinfo { char filename[256]; off_t filesize; time_t mtime;

    3熱度

    4回答

    我的代碼正常運行且沒有內存泄漏。但是,我得到的valgrind錯誤: ==6304== 14 errors in context 4 of 4: ==6304== Invalid write of size 1 ==6304== at 0x4A0808F: __GI_strcpy (mc_replace_strmem.c:443) ==6304== by 0x401453: main (ca