Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在fgets中使用fgetc?_C - Fatal编程技术网

在fgets中使用fgetc?

在fgets中使用fgetc?,c,C,我正在用C编写代码,读取一个文本文件,然后输出一个新的文本文件,但我正在以字符串的形式读取数据,然后我需要找到一个字符。有办法做到这一点吗?在“buffer”中,我需要找到字符“R”,并在is之后取Int值。我该怎么做呢??谢谢,这是我到目前为止的代码: const char ch = 'R'; char *ret; if(strcmp(data_in,"G3")==0) { if(fgets(buffer,60,p)!= NULL) {

我正在用C编写代码,读取一个文本文件,然后输出一个新的文本文件,但我正在以字符串的形式读取数据,然后我需要找到一个字符。有办法做到这一点吗?在“buffer”中,我需要找到字符“R”,并在is之后取Int值。我该怎么做呢??谢谢,这是我到目前为止的代码:

const char ch = 'R';
char *ret;


if(strcmp(data_in,"G3")==0)
    {
        if(fgets(buffer,60,p)!= NULL)
        {


            size_t len = strlen(buffer);
            if (len > 0 && buffer[len-1] == '\n')
            {
                buffer[--len] = '\0';
            }

            ret= strchr(buffer, ch);
            fprintf(o,"CC X0.0 Y%s.0\n",ret);
            fprintf(o,"C%s DR+ R0 M\n",buffer);
        }
    }

使用
sscanf
读取
R
后面的整数

ret = strchr(buffer, ch);
if (ret) {
    int num;
    sscanf(ret+1, "%d", &num);
    fprintf(o, "CC X0.0 Y%d.0\n", num);
}
fprintf(o, "C%s DR+ R0 M\n", buffer);

使用
strchr()
在字符串中查找字符。我在代码中看不到任何试图查找字符的内容,除非您讨论的是在缓冲区末尾检查换行符。您的具体问题是什么?在“缓冲区”中,我需要找到字符“R”,并在is之后取Int值。我该怎么做呢??感谢使用
strchr
查找
R
,然后使用
sscanf()
读取后面的整数。