IsDouble 函数原型语法错误&警告(数据定义没有类型或存储class)
IsDouble function prototype syntax error & warning (data definition has no type or storage class)
一直在尝试使用 c 解析 csv 文件。
现在我正在尝试实现一个函数来检查字符串是否只是双精度数,以便我可以转换它。
但是,我在获取 "syntax error before bool" 和 "data definition has no type or storage class"
的 .h 文件中遇到了一些问题
#ifndef MSGR_H
#define MSGR_H
#include <stdio.h>
#include <stdlib.h>
typedef struct Entry
{
char *str;
int iVal;
} Entry;
int NumRows(char fileName[]);
int NumColumns(char fileName[]);
void TokenizeLine(int x; int y; char currentLineStr[], Entry eTable[x][y], int yIndex, int x, int y);
*** bool IsDouble(const char *str);*** (problem is supposedly here)
#endif
下面是函数本身。
bool IsDouble(const char *str)
{
char *endPtr = 0;
bool flag = true;
strtod(str, &endPtr);
if(*endPtr != '[=12=]' || endPtr == str);
flag = false;
return flag;
}
感谢所有意见。
C 中没有 bool
,除非您至少使用 C99 并包含 <stdbool.h>
。
常见做法:return int
、0
计算结果为 false,其他任何值(通常 1
)用作布尔值时计算结果为 true。
代码:
int IsDouble(const char *str)
{
char *endPtr = 0;
strtod(str, &endPtr);
if(*endPtr != '[=10=]' || endPtr == str)
{
return 0;
}
return 1;
}
(还有一个多余的分号...)
一直在尝试使用 c 解析 csv 文件。
现在我正在尝试实现一个函数来检查字符串是否只是双精度数,以便我可以转换它。 但是,我在获取 "syntax error before bool" 和 "data definition has no type or storage class"
的 .h 文件中遇到了一些问题#ifndef MSGR_H
#define MSGR_H
#include <stdio.h>
#include <stdlib.h>
typedef struct Entry
{
char *str;
int iVal;
} Entry;
int NumRows(char fileName[]);
int NumColumns(char fileName[]);
void TokenizeLine(int x; int y; char currentLineStr[], Entry eTable[x][y], int yIndex, int x, int y);
*** bool IsDouble(const char *str);*** (problem is supposedly here)
#endif
下面是函数本身。
bool IsDouble(const char *str)
{
char *endPtr = 0;
bool flag = true;
strtod(str, &endPtr);
if(*endPtr != '[=12=]' || endPtr == str);
flag = false;
return flag;
}
感谢所有意见。
C 中没有 bool
,除非您至少使用 C99 并包含 <stdbool.h>
。
常见做法:return int
、0
计算结果为 false,其他任何值(通常 1
)用作布尔值时计算结果为 true。
代码:
int IsDouble(const char *str)
{
char *endPtr = 0;
strtod(str, &endPtr);
if(*endPtr != '[=10=]' || endPtr == str)
{
return 0;
}
return 1;
}
(还有一个多余的分号...)