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