Tôi đang cố dịch một dự án lớn từ C++ sang Delphi và tôi đang hoàn tất bản dịch. Một trong những thứ tôi để lại là quái vật '\ 0'.' 0' trong C++ là gì?
if (*asmcmd=='\0' || *asmcmd==';')
trong đó asmcmd là char *.
Tôi biết rằng \ 0 đánh dấu sự kết thúc của loại mảng trong C++, nhưng tôi cần biết nó là một byte. Có 0 không?
Nói cách khác, mã dưới đây có tương đương với dòng C++ không?
if(asmcmd^=0) or (asmcmd^=';') then ...
trong đó asmcmd là PAnsiChar.
Bạn không cần biết Delphi để trả lời câu hỏi của tôi, nhưng hãy cho tôi biết \ 0 là byte. Điều đó cũng có tác dụng. :)
Sự phức tạp, có lẽ ... nhưng điều quan trọng là phải biết khi nào bạn nên ** sử dụng ''\ 0''. Một ví dụ là 'for (char * c = str; * c! = '\ 0'; C++)' vs 'cho (int i = 0; i
David
@David: "' * c! = '\ 0'' "tại sao không chỉ' (char * c = str ; * c; C++) '? – SigTerm
cảm ơn bạn, điều này hoàn toàn khác với những gì tôi nghĩ. :) – qwerty101