c-strings

    -1熱度

    4回答

    所以...... 當我去: cout<<stringName<<endl; 我得到: NT 但是,當我去: cout<<stringName.c_str()<<endl; 我得到: NTNT 爲什麼?

    1熱度

    7回答

    在C/C++的一些人使用C風格的字符串,如: char *str = "This is a c-styled string"; 我的問題是這是安全的?我看到它的方式是他們創建了一個char指針,它指向一個常量字符數組的第一個字母,但不能用其他的東西,例如另一個變量覆蓋內存中char數組的一部分?從而導致str邏輯無效?

    18熱度

    18回答

    現在有沒有什麼好的理由在C++中使用C字符串?我的教科書在某些時候在例子中使用它們,我真的覺得使用std :: string會更容易。

    3熱度

    5回答

    我的代碼段錯誤,我不知道爲什麼。 1 #include <stdio.h> 2 3 void overwrite(char str[], char x) { 4 int i; 5 for (i = 0; str[i] != '\0'; i++) 6 str[i] = x; 7 } 8 9 int main(void) { 10 char *s = "abcde"; 11 ch

    6熱度

    4回答

    當通過使用recv套接字接收數據,我注意到,具有: char buffer[4]; memset(buffer, 0, 4); recv(socket, buffer, 4, 0); 我接收 mesgx 「mesg」就是我發送的,附加了一些隨機字符。 如果我使用 char * method = (char *) malloc(4); memset(buffer, 0, 4);

    19熱度

    3回答

    我看到使用這種模式來連接到在一些代碼字符串我工作: sprintf(buffer, "%s <input type='file' name='%s' />\r\n", buffer, id); sprintf(buffer, "%s</td>", buffer); 和我相當肯定它不是安全C.你會發現buffer既是輸出和第一個輸入。 除了很明顯的緩衝區溢出的可能性,我相信不能保證緩衝區不會在