Итак, я знаю, что определил символ. Но что-то раздражает компилятор.
char direction;
int exit, firstLine, length;
firstLine = 0, exit = 0;
/* Boolean for the whether size has been read. */
while (((fgets(line, sizeof(line), boardFile)) != NULL) || exit == 1)
{
if (firstLine == 0) /* Easy way of handling reading width/height. */
{
/* Split for size and width. */
sscanf(line, "%d,%d", widthPtr, heightPtr); /* Store width and height inside width/height. */
firstLine++;
if (VALIDSIZE(*widthPtr))
{
if (!(VALIDSIZE(*heightPtr)))
{
printf("%d is an invalid Height. Must be between 1 and 12 (Inclusive).", *heightPtr);
exit = 1;
}
}
else
{
printf("%d is an invalid Width. Must be between 1 and 12 (Inclusive).", *widthPtr);
exit = 1;
}
}
else
{
Ship* newShip;
sscanf(line, "%s %c %d %[^\n]", location, direction, &length, name); /* Parse into vars. */
newShip = createStruct(location, direction, length, name); /* Need a createStruct method so it doesn't store the same Struct in the same memory location. */
insertLast(list, newShip); /* Add to the list of structs. */
}
Я получаю ошибку
format %c expects argument of type char* but argument has type int.
Я пытаюсь прочитать в этой строке
D4 E 3 NullByte Sub
Он работал как символ *, но мне нужно было, чтобы он был символом, так как в любом случае это всего лишь один символ.
E - это то, что я пытаюсь отсканировать в символ, а scanf - это то, что выдает ошибку.
Любая помощь велика, спасибо