C语言标准库里面没有getline函数

Python010

C语言标准库里面没有getline函数,第1张

1、C语言中没有,C++中才有getline()函数。C语言中类似的 有 fgets(), gets() 函数。

用于读取一行字符直到换行符,包括换行符.

char * fgets ( char * str, int num, FILE * stream )

char * gets ( char * str )

2、例程:

/* gets 例子 */

#include <stdio.h>

int main()

{

char string [256]

printf ("Insert your full address: ")

gets (string)

printf ("Your address is: %s\n",string)

return 0

}

/* fgets 例子 */

#include <stdio.h>

int main()

{

FILE * pFile

char mystring [100]

pFile = fopen ("myfile.txt" , "r")

if (pFile == NULL) perror ("Error opening file")

else {

fgets (mystring , 100 , pFile)

puts (mystring)

fclose (pFile)

}

return 0

}

getline是都一行,并把内容填入str,它不会因为你只留5个字节就不读完整一行了.如果你在一行内输入"两行"内容,本身就是输入不合规,对标准输出流的处理的期望值也是错误的.你就不应该用getline读

getline一定会读到\n,然后舍弃buffer放不下的内容