• 扫描有分隔符的数据


    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    //切割不同间隔符的方法:
    //第一种办法将分隔符替换为空格 //第二种办法集合 //scanf //________ //sscanf //fscanf
    //第一种:
    void main1()
    {
    char name[100] = { 0 }; char pass[100] = { 0 }; char mail[100] = { 0 };
       scanf("%%s%s%s", name,pass,mail); //输入每个字符串,用空格隔开。 printf("name=%s--pass=%s--mail=%s", name, pass, mail); system("pause");
    }

    //第二种:
    void main2() { char strall [300]= "123sadsadasdas# 45613213213#yincheng01@163.com "; char name[100] = { 0 }; char pass[100] = { 0 }; char mail[100] = { 0 };    //"%[0-9A-Za-z] 读取一个集合,只接受数字和字母。 %*[^0-9A-Za-z]读取所有的非数字和字母的字符,“*”表示忽略后面的东西 sscanf(strall,"%[0-9A-Za-z]%*[^0-9A-Za-z]%[0-9A-Za-z]%*[^0-9A-Za-z]%[0-9A-Za-z@.]%*[^0-9A-Za-z]", name,pass,mail); printf("name=%s--pass=%s--mail=%s", name, pass, mail); system("pause"); } void main() { FILE *pf = fopen("Z:\I\尹成清华终极版C语言视频源码文档20150131\大数据相关数据\csdn.txt", "r"); for (int i = 0; i < 100; i++) { char name[100] = { 0 }; char pass[100] = { 0 }; char mail[100] = { 0 }; //fscanf(pf, "%[0-9A-Za-z]%*[^0-9A-Za-z]%[0-9A-Za-z]%*[^0-9A-Za-z]%[0-9A-Za-z@._]%*[^0-9A-Za-z]", name, pass, mail); char allstr[500] = { 0 }; fgets(allstr, 500, pf); sscanf(allstr, "%[0-9A-Za-z_]%*[# ]%[0-9A-Za-z_]%*[# ]%[0-9A-Za-z@._]%*[^0-9A-Za-z]", name, pass, mail); printf("%s %s %s ", name, pass, mail); //zdg # 12344321 # zdg@csdn.net } fclose(pf); system("pause"); }
  • 相关阅读:
    C#三种模拟自动登录和提交POST信息的实现方法
    关于c#调用C++代码的一些应用的体会
    c# 路径空格---ProcessStartInfo参数问题
    用C#调用Matlab图像处理自制QQ游戏2D桌球瞄准器
    使用C#开发纽曼USB来电小秘书客户端小结
    C#传递参数到线程的n个方法
    C# : 操作Word文件的API
    c# 导出Excel
    使用C#: 自动切换鼠标的左右手习惯
    Linux 系统的文件类型
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5892237.html
Copyright © 2020-2023  润新知