精华内容
下载资源
问答
  • 本篇文章是对C语言把文件读入字符串以及将字符串写入文件的方法进行了详细的分析介绍,需要的朋友参考下
  • 主要介绍了C#把整个文件内容读入字符串变量的方法,实例分析了C#操作文件与字符串的相关技巧,需要的朋友可以参考下
  • 将html读入字符串操作

    2015-04-15 21:17:18
    java实现可以将html文件源码读入字符串操作,经过测试,可以实现。
  • C/C++如何整行读入字符串

    千次阅读 2017-12-27 15:20:40
    原文地址: ...C/C++如何整行读入字符串? 阅读目录 方法一:scanf()读入char[]方法二:getchar()读入char[]方法三:gets()读入char[]方法四:getline()读入string或char[]方法五:get()读

    原文地址:

    https://www.cnblogs.com/AlvinZH/p/6798023.html


    C/C++如何整行读入字符串?

    在写代码的过程中,经常要一行一行的读入字符串进行处理,这里我总结了一些方法,供大家参考。

    方法一:scanf()读入char[]

    使用方法:

    char str[1024];
    scanf("%[^\n]",&str);
    getchar();

    说明:在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字符串。

      其实scanf函数也可完成这样的功能,而且还更强大。这里主要介绍一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是"^",这说明读取不在"^"后面集合的字符,既遇到"^"后面集合的字符便停止。注意此时读入的字符串是可以含有空格的,而且会把开头的空格也读进来

      注意:如果要循环的多次从屏幕上读取一行的话,就要在读取一行后,在用%c读取一个字符,将输入缓冲区中的换行符给读出来。否则的话,在下一次读取一行的时候,第一个就遇到'\n',匹配不成功就直接返回了。这里可以用scanf()或者getchar()函数读取换行符。

    方法二:getchar()读入char[]

    使用方法:

    char str[1024];
    int i=0;
    while((str[i]=getchar())!='\n')
        i++;
    getchar();

    说明:这样一个一个读也可以,也会把开头的空格读进来。最后也需要考虑换行符,使用getchar()读出来。

    方法三:gets()读入char[]

    使用方法:

    char str[1024];
    gets(str);

    说明:感觉这个就是多个getchar的集合函数,很好用。功能是从标准输入键盘上读入一个完整的行(从标准输入读,一直读到遇到换行符),把读到的内容存入括号中指定的字符数组里,并用空字符'\0'取代行尾的换行符'\n'。读入时不需要考虑换行符。

    方法四:getline()读入string或char[]

    使用方法:

    string str;
    getline(cin,str);//读入string
    
    char str2[1024];
    cin.getline(str2,1024);//读入char数组

    说明:这是比较常用的方法,cin.getline第三个参数表示间隔符,默认为换行符'\n'。读入不需要考虑最后的换行符。

    方法五:get()读入char[]

    使用方法:

    char str3[1024];
    cin.get(str3,1024);//读入char数组

    说明:get函数读入时需要考虑最后的换行符,也就是说,如果用get读入多行数据,要把'\n'另外读出来,一般使用cin.get(str,1024).get();来读入多组数据。

     

    作者: AlvinZH

    出处: http://www.cnblogs.com/AlvinZH/

    本人Github:https://github.com/Pacsiy/JobDu

    本文版权归作者AlvinZH和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.


    展开全文
  • C++遇到回车停止读入字符串

    千次阅读 2017-01-05 17:44:56
    遇到回车停止读入字符串“`include using namespace std;int main() { char a[100]; cin.getline(a,100); cout ; return 0; }“`

    C++遇到回车停止读入字符串


    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        char a[100];
        cin.getline(a,100);
        cout << a;
        return 0;
    }

    这里写图片描述

    展开全文
  • scanf_s()读入字符串和数字

    千次阅读 2017-08-17 18:56:03
    scanf_s函数同时读入字符串和数字时访问冲突的问题

    拟解决问题描述如下:

    (以录入学生信息为列)

    1. 从键盘输入要录入的学生个数

    2. 输入学生的姓名(字符串)、数学成绩(数字)、语文成绩(数字)


    问题解的关键:在输入姓名(字符串)、数学成绩(数字)、语文成绩(数字)时,采用如下方式,会出现访问冲突报错:

       scanf_s("%s %d %d", st[i].name, &st[i].math, &st[i].chinese);

    究其原因还是在于scanf_s函数,在输入字符串的时候一定要限定输入字符串的长度,修改成如下代码即可解决问题:

    scanf_s("%s", st[i].name, NAME_LEN); 
    scanf_s("%d %d", &st[i].math, &st[i].chinese);
    


    完成代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    
    #define NAME_LEN  50
    
    typedef struct student
    {
    	char name[NAME_LEN];
    	int chinese;
    	int math;
    }student;
    
    int main()
    {
    	student *st = NULL;
    	int i = 0, n = 0;
    
    	printf("请输入学生个数\n");
    	scanf_s("%d", &n);
    	st = (student*)malloc(n * sizeof(student));
    	
    	printf("请输入学生的姓名 数学成绩 语文成绩:\n");
    	for (i = 0; i < n; i++){
    		scanf_s("%s", st[i].name, NAME_LEN); //关键在这里,没有NAME_LEN会报错
    		scanf_s("%d %d", &st[i].math, &st[i].chinese);
    	}
    	for (i = 0; i < n; i++)
    		printf("%s 数学成绩:%d  语文成绩:%d\n", st[i].name, st[i].math, st[i].chinese);
    	free(st);
    	return 0;
    }

    展开全文
  • 读入数据的时候要注意,行末有换行符和空行之类,这里直接用...s) 读入字符串,它也会自动忽略换行符和空行。但 scanf("%c", &amp;s[i][j]) 就不会忽略,需要加一个getchar函数来读入换行符和空行。...

    读入数据的时候要注意,行末有换行符和空行之类,这里直接用cin和cout,避免了这些可能导致错误的地方。也可以用 scanf("%s", &s) 读入字符串,它也会自动忽略换行符和空行。但 scanf("%c", &s[i][j]) 就不会忽略,需要加一个getchar函数来读入换行符和空行。

    展开全文
  • C语言---读入字符串

    千次阅读 2013-04-05 14:45:00
    1、读入字符串可以使用以下方法: char str[20]; scanf("%s",str);   char str[20]; gets(str);   char str[20]; fgets(str,20,stdin);   char* str=readline(NULL); ... free(str); 以上方法都可以用于...
  • * 读入字符串,遇到某一字符结束读入 * int.txt: 中国123美国abc日本;123 */ import java.io.*; class Test { public static void main(String[] args) throws IOException { FileReader in = new FileReader...
  • 解决java中nextLine()无法读入字符串的问题。 这是楼主最近写的一段代码: 这是输出,然而楼主发现, 中的in.nextLine()并没有接受接盘输入,而是直接跳过!! 是什么原因呢?? 1.Scanner 的输入机制: ...
  • C++读入字符串

    2018-08-18 09:05:40
    1、getline()读入string或char[] 使用方法: string str; getline(cin,str);//读入string char str2[1024]; cin.getline(str2,1024);//读入char数组 说明:这是比较常用的方法,cin.getline第三个参数表示间隔...
  • Arduino串口读入字符串

    千次阅读 2017-05-09 16:05:52
    void setup() { Serial.begin(9600); } void loop() { String list = ""; while (Serial.available() > 0) { list += char(Serial.read()); } Serial.println(list); }
  • scanf读入字符串的方法

    千次阅读 2019-07-21 16:31:36
    1、使用cin读入n再scanf读入二维字符数组 (每一个都用字符读入) #include<iostream> #include<string> #include<stdio.h> using namespace std; int main(){ int n; cin>>n;//这里如果...
  • 如何使用getline读入字符串(char)

    千次阅读 2018-06-05 22:43:52
    也许是最近模拟题打多了的缘故,我发现自己渐渐变得比较毒瘤起来,当然这也是有一定的好处的,因为从中我也学到了一些处理字符串的正确姿势,今天我们就来讲一 讲如何用函数getline来读入一整行字符串进行处理。...
  • scanf读入字符串与读入字符的区别

    万次阅读 2014-03-30 18:03:03
    今天下午比赛时候有道题用c++输入输出是超时的,所以准备换上c试试,发现这么几个问题: 1、使用scanf("%c", &a)读取a(a是char类型),如果读取之前有换行符或者空格,那么a就会把之前的换行符或者空格读取到,解决...
  • C++读入字符串的方法

    千次阅读 2017-06-03 12:43:29
    编程时,读入一行字符串(可包含空格,以换行符结尾)的方法总结: 1. char* gets(char* buff) :(包含于stdio.h)  示例: char tmp[200];  gets(tmp); 2. char* gets_s(cahr* buff, unsigned int_size);(其中...
  • 1.摘自百度:gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。其调用格式为: gets(s);其中s为字符串变量(字符串数组名或字符串指针)。gets从标准...
  • C语言---关于scanf读入字符串的一些问题

    万次阅读 多人点赞 2015-05-11 15:10:10
    但是有一类问题通常令人头疼,那就是字符串的读入,此处仅仅讨论使用scanf读取字符串的一些问题。 理论上你只需要定义一个字符指针,然后scanf每次读入字符存储到该指针所指的存储空间,之后指针值自动加1. 所以,...
  • 深入C语言把文件读入字符串

    千次阅读 2017-10-26 19:39:42
    1.纯C实现FILE *fp; if ((fp = fopen("example.txt", "rb")) == NULL) { exit(0); } fseek(fp, 0, SEEK_END); int fileLen = ftell(fp);... char *tmp = (char *) malloc(sizeof(char) * fileLen);...
  • 说明:在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字符串。 其实scanf函数也可...
  • 给定由大写字母和空格组成的字符串,返回最后一个单词的长度。 如果输入中不存在单词,返回0. 注意: “单词”是指不包含空格符号的字符串 例如: 对于字符串"hello world"(不带引号)那么返回的结果是5 输入格式 ...
  • c/c++中读入字符串

    千次阅读 2019-03-06 11:41:22
    scanf函数一般格式为scanf(“%s”,st),但scanf默认回车和空格是输入不同组之间的间隔和结束符号,所以输入带空格,tab或者回车的字符串是不可以的。可以用scanf(“%[^/n]”,str)//遇到回车结束,/n换成c则表示遇到...
  • scanf()是无法读入一串有空格的字符串的。 所以,除了考虑整串读入,还可以采取一个个读入的方式,最后以换行符终止。 具体实现如下: char s[MAXN], a; int len = 0; while (true) { s[len++] = getchar();//len...
  • 几种从stdin读入字符串的方式

    千次阅读 2017-09-23 21:03:05
    功能:gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。 返回值:读入成功,返回与参数buffer相同的指针;读入...
  • 程序说明:读入一个字符串,当字符串以.结尾且后面无任何数据时,停止读入读入后的字符串第一个字母必须是大写,且其余字母均为小写并过滤掉字符之间多余的空格。 运行结果: Enter a string: the Answer to ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 204,370
精华内容 81,748
关键字:

读入字符串