c语言-C语言读取文本文件的数组,什么情况下需要对ascii进行转化?

问题描述

C语言读取文本文件的数组,什么情况下需要对ascii进行转化?

为什么视屏上没有转化?
fscanf(fp,"%d",&变量);,这个变量不需要atoi么?

解决方案

因为fscanf内部就实现了将文本转换为整数的功能,所以不需要转换了。之所以知道转换为整数,是因为%d

解决方案二:

这种是格式化输入,本身在输入处理时已经将输入转换成了整形数据。
如果是%s当作字符串输入,则需要手动转换一下。

解决方案三:

fscanf 是输入,需要你在显示屏上输入一个数字,不是显示到屏上

字符串转成 int,在调用这个函数时会完成输入到 int 的转换。如果在代码将已有的字符串转成 int 时需要调用 atoi 函数完成转换。

时间: 2024-09-09 11:39:26

c语言-C语言读取文本文件的数组,什么情况下需要对ascii进行转化?的相关文章

豆瓣-关于C语言按行读取文件,读取其中数字,挨个转换成doube类型,存入数组

问题描述 关于C语言按行读取文件,读取其中数字,挨个转换成doube类型,存入数组 int main() { FILE *fp; char buffer[50]; char filename[50]; int bufferLen; int i; int j = 0; char c; double c_number[50]; printf("Input file name: "); scanf("%s", filename); if((fp = fopen(filen

c语言以二进制读取图片问题

问题描述 c语言以二进制读取图片问题 小弟新手刚学数字图像处理,现在需要做一个模板卷积 程序编完了 但是对图片的处理总是不对 我把图片不做模板卷积只是读进去在存出来,发现图片已经变化了. 但是查了很久fread函数和fwrite函数,不知道哪里错了 大神们求拯救帮忙看看 程序很简单 define的想法就是用一维数组表示二维数组 #include using namespace std; #define Twoto1(i,j,w) i*w+j void createimage(unsigned c

C语言学习教程第四章-数组(8)

在二维数组a中选出各行最大的元素组成一个一维数组b. a=3 16 87 65 4 32 11 108 10 25 12 37b=(87 108 37) 本题的编程思路是,在数组A的每一行中寻找最大的元素,找到之后把该值赋予数组B相应的元素即可.程序如下:main(){static int a[][4]={3,16,87,65,4,32,11,108,10,25,12,27};int b[3],i,j,l;for(i=0;i<=2;i++){ l=a[i][0];for(j=1;j<=3;j+

C语言学习教程第四章-数组(6)

字符串常用函数 C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入.输出.合并.修改.比较.转换.复制.搜索几类. 使用这些函数可大大减轻编程的负担.用于输入输出的字符串函数, 在使用前应包含头文件"stdio.h" : 使用其它字符串函数则应包含头文件"string.h". 下面介绍几个最常用的字符串函数.1.字符串输出函数 puts 格式: puts (字符数组名) 功能:把字符数组中的字符串输出到显示器. 即在屏幕上显示该字符串#include&quo

C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表本文由 arthinking 发表于315 天前 ⁄ itzhai.com原创文章 ⁄ C语言 ⁄ 评论数 3 ⁄ 被围观 1,775 views+   指针数组: 在一个数组中,如果它的元素全部都是指针

c语言-C语言数组作为参数传入子函数

问题描述 C语言数组作为参数传入子函数 对不起,可能我没表达清楚,我想问,数组作为参数传入子函数为什么不是作为形式参数传入,请你看程序运行结果,如果数组作为形式参数传入子函数,那么形式参数的值并不会影响原来main函数中的值,但是实际上,main函数中数组原来的值已经被修改了,这是因为数组传入的是地址(指针),我的问题就在这里,传入的是指针为什么不是用完就扔的形式参数. 这与c语言的设计有关是吗?内部有什么机制吗? 解决方案 首先提一下std C 调用约定,参数的传递使用栈. 在传递时首先将参数

c语言中向二维字符数组中写入符号*

问题描述 c语言中向二维字符数组中写入符号* 声明一个二维字符数组char str[][]: 通过循环嵌套向里面写入符号 * 怎么实现?求前辈指教. 解决方案 for (int i = 0; i < 100; i++) { arr[i / 10][u % 10] = ' '; } for (i =0; i < 10; i++) { arr[3][i] = '*'; arr[4][i] = '*'; arr[i][3] = '*'; arr[i][4] = '*'; } 解决方案二: 只要一行

c语言-C语言typedef问题与结构体数组问题

问题描述 C语言typedef问题与结构体数组问题 typedef struct students{ long code; char *name; float score[3]; float sum;}cla[40];这样定义是什么意思呢?cla代替了struct students?正确的写法是怎么样的 解决方案 定义了一个班级类型,它代表40个学生,cla代替了students[40]以后可以定义变量cla cla1;cla1就是一个40个students组成的数组 语法上没问题,不过个人觉得

c语言-C语言getchar不读取EOF问题

问题描述 C语言getchar不读取EOF问题 各位前辈,我的问题是,当我调试下面的c程序的时候,有一个不懂的地方在于: 右边输入了I am a student^Z(ctrl+z),但是当whilie循环中的c=getchar()在读完了c=t(最后一个字符t)之后,getchar就不继续读取了,即getchar不继续读取^Z了,也即while循环不退出,这是怎么回事.请各位大神解答,谢谢.. #include #include int getline(char *s, char lim) {