本文主要是介绍C/C++ 读入一行字符串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C/C++ 读入一行字符串
标签(空格分隔): 常用代码积累
1.gets
gets函数的头文件是
#include <stdio.h>
#include <stdlib.h>
#include <string.h> int main()
{ int size = 1024; char* buff = (char*)malloc(size); // read lines while(NULL != gets(buff)){ printf("Read line with len: %d\n", strlen(buff)); printf("%s", buff); } // free buff free(buff);
}
2. fgets
fgets函数的头文件是
#include <stdio.h>
#include <stdlib.h>
#include <string.h> int main()
{ int size = 1024; char* buff = (char*)malloc(size); // read lines while(NULL != fgets(buff, size, stdin)){ printf("Read line with len: %d\n", strlen(buff)); printf("%s", buff); } // free buff free(buff);
}
**需要注意的是fgets保留换行符’\n’,而gets是从stdin输入,在读取字符串时会删除结尾的换行符’\n’;
同样,fputs写入时不包括换行符,而puts在写入字符串时会在末尾添加一个换行符。**
3. getline
对于C++语言,如果使用C字符串的话,就采用cin.getline()函数,如果采用string型字符串的话,就采用全局函数getline(cin,n);
注意,这两个函数都不读入最后的换行符。
#include<string>
#include<iostream>
using namespace std;
int main( )
{string s;char str[256];getline(cin, s);cin.getline(str, sizeof(str));return 0;
}
参考:http://www.cnblogs.com/xkfz007/archive/2012/08/02/2619446.html
非常值得看的博客:
http://www.cnblogs.com/xkfz007/archive/2012/02/27/2363810.html
这篇关于C/C++ 读入一行字符串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!