0

ファイル I/O は初めてで、既に作成したファイルを読み取るプログラムを C で作成しています。私が持っている本の例では、スペースを含むリテラルを使用していません。私は疑問に思っていました:

#define kErrorLog      "/Dropbox/Dev/Learn%20C%20on%20Mac/Error%20Log"

に対応する適切なパスを教えてくれますuser/dropbox/dev/Learn C on Mac/Error Log

4

2 に答える 2

2

いいえ、スペースのみを使用してください。

#define kErrorLog      "/Dropbox/Dev/Learn C on Mac/Error Log"

エスケープは%20Web サーバーによって解釈されます。ファイル名は単なる文字列です。

于 2013-08-05T01:13:02.900 に答える
1

いいえ; ファイル名はそのように URL エンコードする必要はありません。通常、スペースを含めることができます。

#define kErrorLog      "/Dropbox/Dev/Learn C on Mac/Error Log"

一般に、C ではファイル名をエスケープする必要はありません。ファイル名をコードに直接入れる場合、文字列リテラル内の問題のある文字 (バックスラッシュなど) をエスケープする必要があるかもしれませんが、一度取得したら、文字列で、ファイル名として使用するためにその文字列を変更する必要はありません。

于 2013-08-05T01:12:40.233 に答える