C语言atof,atoi ,strtok等函数用法

atoi是把字符串转换为int型数据

atof是转换为float型

strtok是分隔字符串的

第一个例子用了sscanf, 没有用strtok

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
#define MAX_Line 2048

int main(){
    FILE *Fr;

    Fr = fopen("test_Group_Box.txt", "r");

    if(NULL == Fr){
        printf("ERROR!\n");
        return -1;
    }

    float t;

    char Test_N_arr[MAX_Line];
    //  char *Test_N_arr = (char*)malloc(sizeof(char) *MAX_Line);
    char str1[50], str2[50], str3[50];
    //  char str1, str2, str3;
    //  "Read Each Line of Fr and assign each fields to three pointers"

    while (!feof(Fr)) {
        fgets(Test_N_arr, MAX_Line, Fr);

        sscanf(Test_N_arr, "%s\t%s\t%s", str1, str2, str3);
        t = atof(str3);
        printf("%s\t", str1);
        printf("%s\t", str2);
        if (strcmp(str1,"Group") == 0){
            printf("%s\n", str3);
        }else {
            printf("%.2f\n", t);
        }
    }
    fclose(Fr);
    // free(Test_N_arr);
    return 0;
}

另一个例子用了strtok

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
#define MAX_Line 2048

int main(){
    FILE *Fr;

    Fr = fopen("test_Group_Box.txt", "r");

    if(NULL == Fr){
        printf("ERROR!\n");
        return -1;
    }

    float t;
    char *Test_N_arr = (char*)malloc(sizeof(char) *MAX_Line);
    char *str;
    //  "Read Each Line of Fr and assign each fields to three pointers"

    while (!feof(Fr)) {
        fgets(Test_N_arr, MAX_Line, Fr);
        str = strtok(Test_N_arr, "\t");
        int i = 0;
        while(str != NULL){
            if( i == 2){
                if(strcmp(str, "Qual\n") == 0){
                    printf("%s", str);
                } else {
                    t = atof(str);
                    printf("%.2f\n", t);
                }
            }else {
                printf("%s\t", str);
            }
            i++;
            str = strtok(NULL, "\t");
        }
    }
    fclose(Fr);
    free(Test_N_arr);

    return 0;
}
时间: 2024-10-24 11:52:30

C语言atof,atoi ,strtok等函数用法的相关文章

R语言seq()函数用法

1.seq() 用来生成一组数字的函数. Usage: ## Default S3 method:seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),length.out = NULL, along.with = NULL, ...)seq.int(from, to, by, length.out, along.with, ...)seq_along(along.with)seq_len(length.out) Arguments:

C语言sprintf和sscanf函数用法

以前刚用C语言的时候,觉得字符串很难处理,后来用多了,发现其实并非如此,C语言也提供了许多函数给程序员使用.今天记录一下两个常用的两个字符串处理函数:sprintf和sscanf 1. sprintf 从名称上来看,这个函数名称由三部分组成: s 代表字符串(string) print 代表打印 f 代表格式化(format) 这样拆分,可以大概知道它是干嘛用的了,相对于我们常用的用来处理输出流的printf,sprintf是用来处理字符串的.实际上这个函数,是把数据按格式打印到字符串中,常用于

C语言 字符串和数字转换函数

atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include <stdlib.h> 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回.参数nptr字符串可包含正负号.小数点或E(e)来表示指数部分,如123.456或123e-2.

黑 马 程 序 员_视频学习总结&lt;c语言&gt;----02 printf和scanf函数、基本语句和运算、流程控制、函数、数组、字符串

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.printf函数 1.在使用peintf函数前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据,其中使用格式是 printf(“字符串”) :或者 printf(“字符串”, 格式符参数): 2.常用的格式符及其含义如图所示 3.格式符还可以添加输出宽度 二.scanf函数 1.在使用scanf函

字符串转换atof atoi atol gcvt strtod strtol strto ul toascii tolower toupper

atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include <stdlib.h> 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转 换,并将结果返回.参数nptr字符串可包含正负号.小数点或E(e)来表示指数部分,如123.456或123e-2

CString 成员函数用法大全

CString的构造函数CString( );例:CString csStr; CString( const CString& stringSrc );例:CString csStr("ABCDEF中文123456");    CString csStr2(csStr); CString( TCHAR ch, int nRepeat = 1 );例:CString csStr('a',5);//csStr="aaaaa" CString( LPCTSTR l

assert()函数用法总结——转

assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include <assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行.请看下面的程序清单badptr.c: #include <stdio.h>#include <a

python 中 print 函数用法总结

Python 思想: “一切都是对象!” 在 Python 3 中接触的第一个很大的差异就是缩进是作为语法的一部分,这和C++等其他语言确实很不一样,所以要小心 ,其中python3和python2中print的用法有很多不同,python3中需要使用括号 缩进要使用4个空格(这不是必须的,但你最好这么做),缩进表示一个代码块的开始,非缩进表示一个代码的结束.没有明确的大括号.中括号.或者关键字.这意味着空白很重要,而且必须要是一致的.第一个没有缩进的行标记了代码块,意思是指函数,if 语句.

memset函数用法及注意事项

头文件#include<cstring> ------------------------------------------ 在memset使用时要千万小心,在给char 以外 的数组赋值时,     只能初始化为0或者-1.    (看最后的0和1的补码)///////////      给bool类型数组可以初始化1------------------------------------------ 头文件#include<cstring>int arr[100];memse