如何从标准输入C中获取一行数据
我想从标准输入中获取一行数据。在文件末尾返回一个空字符串。如果数据行不适合分配的空间,则存储适合的部分并丢弃输入行的其余部分 我可以写这封信,但我总是会犯这个错误,这意味着什么如何从标准输入C中获取一行数据,c,C,我想从标准输入中获取一行数据。在文件末尾返回一个空字符串。如果数据行不适合分配的空间,则存储适合的部分并丢弃输入行的其余部分 我可以写这封信,但我总是会犯这个错误,这意味着什么 下标值既不是数组,也不是指针,也不是向量dest[i++]=ch char * scanline(char dest, /* output - destination string */ int dest_len) /* input - space available i
下标值既不是数组,也不是指针,也不是向量dest[i++]=ch代码>
char *
scanline(char dest, /* output - destination string */
int dest_len) /* input - space available in dest */
{
int i, ch;
/* Gets next line one character at a time. */
i = 0;
for (ch = getchar();
ch != '\n' && ch != EOF && i < dest_len - 1;
ch = getchar())
dest[i++] = ch;
dest[i] = '\0';
/* Discards any characters that remain on input line */
while (ch != '\n' && ch != EOF)
ch = getchar();
return (dest);
}
char*
扫描线(char dest,/*输出-目标字符串*/
int dest_len)/*输入-dest中的可用空间*/
{
int i,ch;
/*每次获取下一行一个字符*/
i=0;
for(ch=getchar();
ch!='\n'和&ch!=EOF和&i
C允许在数组和指针上使用下标运算符[]
。在代码中,变量dest
既不是数组也不是指针
一个可能的解决办法是更换
char *scanline(char dest, int dest_len) {
与
或
另外,调用scanline()
函数时,必须将指针传递给数组及其大小。C允许在数组和指针上使用下标运算符[]
。在代码中,变量dest
既不是数组也不是指针
一个可能的解决办法是更换
char *scanline(char dest, int dest_len) {
与
或
另外,调用scanline()
函数时,必须传递一个指向数组及其大小的指针。为什么不fgets
?您忘记问问题了。请修复缩进。“它不工作”不是一个问题描述。并请提供一份。您的问题可能在未显示的代码的另一部分。为什么不fgets
?您忘记问问题了。请修复缩进。“它不工作”不是一个问题描述。并请提供一份。你的问题可能在你没有展示的代码的另一部分。哦,当我读到scanline()时,我没有传递指针。谢谢,当我读到scanline()的时候,我没有传递任何指针。谢谢
char *scanline(char dest[], int dest_len) {