0
文字列を浮動小数点数と2倍数に解析しようとしています。主な問題は、sscanfにあるようです.serverViewerは既定の関数であり、タスクでは文字列の解析(Sscanf)を記述するだけです。cでサーバーに文字列を解析する
これは私の現在のコードであり、正しく機能していないようですが、私の解析に何が問題なのか分かりません。どんな助けでも大歓迎です。
void routeRequest(int socket, char requestBuffer[REQUEST_BUFFER_SIZE]) {
int z = 0;
double x = 0, y = 0;
// This is the format of the requestBuffer
char *format = "GET /mandelbrot/2/%d/%lf/%lf/tile.bmp HTTP/1.1";
// Attempts to scan in z, x, and y from requestBuffer - this will
// work correctly if the user enters in a URL with the structure
// http://localhost:1511/mandelbrot/2/z/x/y/tile.bmp
if (sscanf (requestBuffer, format, &z, &x, &y) == 3) {
serveImage (socket, x, y, z);
// If sscanf was not successful (i.e. if the values are invalid,
// such as 'abc' or the user typed in http://localhost:1511),
// the code will automatically deliver the viewer instead.
} else {
printf("Request did not contain (valid) z, x, or y values.\n"
"Delivering the Mandelbrot viewer instead...\n");
serveViewer (socket);
}
}
てください、まさに「*それは*正常に機能していないようです」間違っている? – alk
書式設定/インデント:( –
変数名は 'content'または' usage'(またはより良い、両方)を示すべきです。 'x'、' y'、 'z'などの変数名は現在のコンテキストでも意味がありません。 – user3629249