首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从文件中读取特定字符

从文件中读取特定字符
EN

Stack Overflow用户
提问于 2020-08-27 10:36:47
回答 1查看 68关注 0票数 0

我正在尝试创建一个函数,该函数读取包含数据的文本文件,并将其赋值给变量。但是,有些行以$开头,需要忽略它。例如:

代码语言:javascript
运行
复制
$ Monday test results
10 12
$ Tuesday test results
4

这就是我到目前为止刚打印出来的东西:

代码语言:javascript
运行
复制
10 12
4

这样做的代码是:

代码语言:javascript
运行
复制
#include <stdio.h>
#include <stdlib.h>

void read_data(){
  FILE* f;

  if (f = fopen("testdata.txt", "r")) {
       char line[100];
       while (!feof(f)) {
             fgets(line, 100, f);
             if (line[0] == '$') {
                  continue;
             } else{
                  puts(line);
             }
      }
  } else {
            exit(1);
   }
fclose(f);
}
void main(){
read_data();
return 0;
}

我试过fgetc,搜索过很多次,但还是被困住了;

**编辑添加#include和main

我要问的是如何赋值,比如a= 10,b= 12,c= 4。尝试了fgetc,但是它只会忽略实际的$签名,而不是$所在的整行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 11:14:53

C string.h .h库函数- strtok()

代码语言:javascript
运行
复制
char *strtok(char *str, const char *delim)

该字符串的内容被修改并分解为较小的字符串(tokens).

  • delim−,这是包含分隔符的C字符串。这可能因调用而异。

此函数返回指向字符串中的第一个令牌的指针。如果没有要检索的标记,则返回空指针。

复制自:https://www.tutorialspoint.com/c_standard_library/c_function_strtok.htm

代码语言:javascript
运行
复制
#include <string.h>
#include <stdio.h>

int main () {
   char str[80] = "This is - www.tutorialspoint.com - website";
   const char s[2] = "-";
   char *token;
   
   /* get the first token */
   token = strtok(str, s);
   
   /* walk through other tokens */
   while( token != NULL ) {
      printf( " %s\n", token );
    
      token = strtok(NULL, s);
   }
   
   return(0);
}

输出:

代码语言:javascript
运行
复制
This is 
  www.tutorialspoint.com 
  website
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63614190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档