【发布时间】:2015-01-31 06:28:36
【问题描述】:
我尝试过使用可以在“常规”c: 中工作的函数:
const char* getfield(char* line, int num)
{
const char* tok;
for (tok = strtok(line, ";");
tok && *tok;
tok = strtok(NULL, ";\n"))
{
if (!--num)
return tok;
}
return NULL;
}
int main()
{
FILE* stream = fopen("v1.csv", "r");
char line[1024];
while (fgets(line, 1024, stdin))
{
char* tmp = strdup(line);
printf("Field 3 would be %s\n", getfield(tmp, 3));
// NOTE strtok clobbers tmp
free(tmp);
}
}
我正在尝试读取位于我的 pebble 应用程序资源文件夹中的文件名“v1.csv”。
【问题讨论】:
-
你的问题是什么?在我看来,我尝试了您的代码,但如果您下次发布输入文件(v1.csv)会很好。对我来说,不清楚你想在哪里阅读、标准输入或流?您的意思是:'while (fgets(line, 1024, stream))' 吗?
-
嗯,对我来说,cloud pebble 将
FILE* stream = fopen("v1.csv", "r");和 while 循环突出显示为错误。它不会编译。至于v1.csv,它太大了无法发布,但这应该适用于我认为的所有 cdv 文件?
标签: c file-io pebble-watch cloudpebble