首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我想使用dev c++从file.txt打印出结构变量,但是屏幕是空白的,没有错误

问题描述: 我想使用Dev C++从file.txt打印出结构变量,但是屏幕是空白的,没有错误。

回答: 首先,确保你的代码没有编译错误,并且file.txt文件存在并且包含了正确的数据。接下来,我们可以按照以下步骤进行排查:

  1. 确保文件成功打开: 在使用文件之前,需要使用fopen函数打开文件,并检查文件是否成功打开。例如:
  2. 确保文件成功打开: 在使用文件之前,需要使用fopen函数打开文件,并检查文件是否成功打开。例如:
  3. 检查文件读取位置: 在打开文件后,需要确保文件读取位置位于文件的开头。可以使用fseek函数将文件读取位置设置为开头。例如:
  4. 检查文件读取位置: 在打开文件后,需要确保文件读取位置位于文件的开头。可以使用fseek函数将文件读取位置设置为开头。例如:
  5. 确保正确读取文件内容: 使用fscanf函数按照正确的格式从文件中读取数据,并将其存储到结构变量中。确保读取的数据类型和结构变量的类型匹配。例如:
  6. 确保正确读取文件内容: 使用fscanf函数按照正确的格式从文件中读取数据,并将其存储到结构变量中。确保读取的数据类型和结构变量的类型匹配。例如:
  7. 关闭文件: 在使用完文件后,需要使用fclose函数关闭文件。例如:
  8. 关闭文件: 在使用完文件后,需要使用fclose函数关闭文件。例如:

如果按照以上步骤进行排查,仍然无法打印出结构变量的内容,请检查以下可能的原因:

  • 文件路径错误:确保file.txt文件位于正确的路径下,并且程序能够正确访问到该文件。
  • 文件内容格式错误:确保file.txt文件中的数据按照正确的格式存储,并且与结构变量的类型匹配。
  • 结构变量赋值错误:确保结构变量的成员变量正确赋值,并且在打印之前已经进行了赋值操作。

希望以上回答对您有帮助。如果您需要更多帮助,请提供更多代码细节或错误信息,以便我们能够更准确地帮助您解决问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Shell脚本攻略04-玩转文件描述符及重定向

当命令输出文本时,这些输出文本有可能错误信息,也可能正常(非错误)输出信息。 单靠查看输出文本本身,我们没法区分哪些正常,哪些错误。...当命令输出错误信息时, stderr信息就会被打印出来。...退出状态可以特殊变量$?中获得. (在命令执行之后立刻运行echo $?,就可以打印出退出状态)。 [root@entel1 Templates]# cat cmdRW.sh #!...类似地,使用 /dev/stderr代表标准错误, /dev/stdout代表标准输出。 这些特殊设备文件分别对应stdin、 stderr和stdout。...如果使用特定文件描述符,你必须将描述符编号置于操作符之前。 >等同于1>;对于>>来说,情况也类似(即>>等同于1>>)。 处理错误时,来自stderr输出被丢弃到文件/dev/null中。

86810

CCPP输入输出函数汇总分析

.默认标准输入流即stdio.h中定义stdin.但是输入流中读取字符时又 涉及到缓冲问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般通过在屏幕上敲上回车键,然后将回车前字符 串放在缓冲区中...getc()C/C++标准库函数,用于文件中读取一个字符。它语法如下: int getc( FILE *stream ); 它接受一个文件指针作为参数,并返回读取到字符ASCII码值。...该函数在C++标准库中已不存在,并被证明不安全,因为它不对读取数据进行长度限制,这可能导致缓冲区溢出。因此,应该使用替代函数,例如fgets()或cin。...所以要并实现结构体作为一个整体读或写。 补充:使用二进制基本问题:它只能用于读在同一系统上已写数据。...原因:要在流中做格式转换,再将结果放到内存变量中 补充:(详见CPrimerPlus P95) 如果使用%s转换说明,scanf()会读取除空白字符外所有字符。

1.8K20
  • Perl 工作积累(不定期更新)

    =cut 多行注释 特殊变量: $$     Perl解释器进程ID @ARGV  保存命令行参数 @_    在子程序内,这个数组变量包含传递给子程序参数 $_           默认输入...根据上下文内容返回错误号或者错误串 $@    Perl解释器eval语句返回错误消息 $?     ...*$/ 如果不用\ 去转义 /, . , 等特殊字符,可以 /\Q$var\E/ 在用 =~ 判断字符串包含时,需要注意是否包含空格等字符,特别是文件中读出时候,还要注意文件中空白行 $context...7) perl print $log "xxx" ;  syswrite $log, "xxxx";     perl中printf很多字符打印有问题,最好使用syswrite来打印数据 8) >...如果字符串中只是存在单一 \(后面没有跟 ", ', \, n, r, b 等),那么db 将不插入任何字符。

    1.3K00

    【linux学习指南】Linux管理文件与处理数据二(重定向与管道)

    标准输入输出: printf/cout:在C/C++程序中,printf和cout用于向标准输出(通常是显示器)写入数据。这实际上向标准输出设备文件(如/dev/tty)写入数据。...scanf/cin:同样,scanf和cin用于标准输入(通常是键盘)读取数据。程序通过读取标准输入设备文件(如/dev/tty)来获取用户输入数据。...基本输入重定向: command < file.txt 输入重定向,本来应该默认键盘文件来,<∶更改成为指定文件中读取数据 错误重定向 将命令标准错误输出重定向到文件。...写入 file.txt使用了文件描述符3。...先把log.txt前5020行放到new.txt中,然后再取尾部21行。

    22810

    Linux入门指令(2)

    3、more指令(解决cat一些问题) 语法: more [选项] [文件] 功能: more 指令,类似于cat 面对一个大文件时候,使用more指令将不会再刷屏(但是满一屏),而且可以允许我们逐行查看...并且允许我们进行简单搜索 /(搜索内容) 但是对于上下键没有作用,只能进行enter进行下一行。...find / -name 111:根目录开始查找包含111文件 10、grep指令 语法: grep [选项] 搜索字符串 文件 功能: 在文件中搜索字符串,将找到行打印出来 行过滤作用。...先将log.txt打开,从此以后log.txt中读取而不再键盘文件。 cat < log.txt与cat log.txt有区别,但是现在还是入门,不太能讲清楚,以后讲清楚了粘一下链接。...3、出现centos not find 出现这种情况通常来说不是输入错误基本上就是没有安装,那要是没有安装的话,可以直接上网上搜索 centos yum 安装 指令(所需要指令)

    10610

    上古神器 sed 教程详解,小白也能看

    接着用 sed 命令处理缓存区中内容; 处理完毕后,把缓存区内容送往屏幕; 接着处理下一行; 这样不断重复,直到文件末尾,文件内容并没有改变,除非你使用重定向输出或指定了 i 参数 正则表达式 sed...(二)扩展正则表达式 扩展正则表达式使用频率上没有基本表达式那么高,但依然很重要,很多情况下没有扩展正则是搞不定,sed 命令使用扩展正则时需要加上选项 -r。 ?...2 来表示匹配变量 {}:和基本正则中大括号中意义相同,只不过使用时不用加 转义符号; 基本语法 先介绍下 sed 基本语法。...隔行删除 $ sed '0~2{d}' file.txt 7. 删除所有空白行 $ sed '/^$/d' file.txt 好了,以上 sed 命令常用全部内容。...想要熟练掌握,只有多实践,多练习正则表达式使用,一旦熟练掌握后,相信在日后工作中一定会产生巨大作用。 谢谢大家,肖邦,欢迎关注后续精彩内容。

    2.5K30

    如何编写一个shell脚本

    如果您使用了注释,那么即使相当长时间内没有使用该脚本,您也能在很短时间内明白该脚本作用及工作原理。  变量  在其他编程语言中您必须使用变量。...the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd值,但是这个变量没有。...  cat file.txt: 输出文件内容到标准输出设备(屏幕)上  file somefile: 得到文件类型  read var: 提示用户输入,并将输入赋值给变量  sort file.txt:...可以标准输入(比如命令管道)读入文本,并将结果输出到标准输出(屏幕)。该命令采用正则表达式(见参考)进行搜索。不要和shell中通配符相混淆。...并且写一个伪脚本(framework.sh),该脚本包含了大多数脚本都需要框架结构一个非常不错主意。

    1.7K40

    【旧文重发 | 07】IC基础知识

    Linux命令,该命令将所有非空白文件(file1.txt)移至另一个文件(file2.txt) grep -v “^$” file1.txt > file2.txt [124] 编写一个UNIX...in C/C++ [127] 编写C代码以检测计算机中架构little Endian 还是 big Endian 什么大小端请参考问题[32] #include int main...定义了全局变量和局部变量,而在函数中,优先调用局部变量,所以将为打印出20. [130] 下列代码中,y值是多少?...由于“p”和“q”指针,因此它们只不过64位计算机中地址。无论它们指向整数还是双精度数据类型,两者大小均为64位(8字节)。 [135] 什么链表?何时使用链表?...链表由一组节点组成数据结构,这些节点一起代表一个序列。链表由一组节点组成数据结构,这些节点一起代表一个序列。如果我们不知道要存储数据量,则首选链表。

    75810

    再见了!linux、awk。。

    Hi,Johngo~ Linux、shell,很多初学者可能非常陌生,但是对于算法、数据、大数据相关同学,这个又是一个不可避免学习内容~ Shell 编程在机器学习和数据处理领域非常重要,尽管它通常不像...但是今儿咱们先来聊聊基础内容~ # 探索 Awk 命令语法 Awk一种用于文本处理和数据提取脚本语言,它基于模式匹配和操作指令组合。 1....BEGIN 块 该块在 Awk 程序执行之前被执行,用于初始化变量或执行其他一次性操作。它是可选,如果没有指定 BEGIN 块,则会跳过该部分。...其中expression要打印内容,可以是变量、常量或表达式。 format一个格式控制字符串,用于指定打印格式。 2....下面 file.txt 文件内容: John,85,A Mary,92,B Tom,78,C 我们可以使用awk编程来实现这个目标。

    21910

    搞定Linux Shell文本处理工具,看完这篇集锦就够了

    Linux脚本大师不是人人都可以达到但是用一些简单Shell实现一些常见基本功能还是很有必要。...下面介绍Linux下使用Shell处理文本时最常用工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供例子和参数都是最常用和最为实用...; 对shell脚本使用原则是命令单行书写,尽量不要超过2行; 如果有更为复杂任务需求,还是考虑python吧; 1、find 文件查找 查找txt和pdf文件 find . \( -name...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs \n 多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3...迭代每一个字符 ${string:start_pos:num_of_chars}:字符串中提取一个字符;(bash文本切片) ${#word}:返回变量word长度 for((i=0;i<${#word

    6.4K41

    printf 和 scanf 并没有这么简单

    输出值默认右对齐,即输出内容前面会有空格;如果希望改成左对齐,在输出内容后面添加空格,可以在占位符%后面插入一个 - 号: 限定符对小数同样有用: 如果我们让打印出数总是显示正负号...当我们有了变量,我们需要给变量输入值时候就可以使用 scanf 函数,如果需要将变量值输出到屏幕时候可以使用 printf 函数,下面看一个例子: 我们在用scanf()函数时候...把这个过程理解为我们用取地址符向内存申请了一块空间,然后键盘输入一个值存放到这个空间里,只有在申请了这个空间前提下我们输入值才能有地方可以放,整个过程就像初始化变量一样,同样都是先申请在给值。...另外,用户使用回车键,将输入分成几行,也不影响解读。 上面示例中,随意空格、换行输入,得到结果一致。...如果没有读取任何项,或者匹配失败,则返回 0。 如果在成功读取任何数据之前,发生了读取错误或者遇到读取到文件结尾,则返回常量 EOF(-1)。

    6610

    【linux学习】基本指令

    此时若路径中某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在目录,即一次可以建立多个目录; tree指令 以树状结构形式打印出目录结构 第一次找不到这个执行命令 yum -y install...在命令行中,重定向(Redirection)一种将命令输出发送到除了标准输出(屏幕)以外其他位置(如文件或另一个程序)方法。...例如,将 file.txt 内容作为 grep 命令输入: grep 'some_text' < file.txt 同时重定向标准输出和标准错误 使用 &> 或 >& 符号可以同时重定向标准输出和错误输出到同一个文件中...例如: ls > all_output.txt 2>&1 或者 ls &> all_output.txt 使用特殊文件 /dev/null /dev/null 一个特殊文件,它会丢弃所有写入其中数据...我们可以直接用下面的方式创建新文件 >file.txt 所以,echo本身写在显示器文件中,现在输出或追加到新文件中,重定向 cat 后面不接任何东西,默认键盘文件读取内容,输入重定向文件中读取内容

    9910

    Linux文本处理详细教程

    对shell脚本使用原则是命令单行书写,尽量不要超过2行; 如果有更为复杂任务需求,还是考虑python吧; 1.1. find 文件查找 查找txt和pdf文件: find . \( -name...比如grep,比如find; - 将多行输出转化为单行输出 cat file.txt| xargs n 多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3.../g' file 移除空白行 sed '/^$/d' file 变量转换 已匹配字符串通过标记&来引用. echo this is en example | sed 's/\w+/[&]/g' $>[...也可使用双引号,使用双引号后,双引号会对表达式求值: sed 's/$var/HLLOE/' 当使用双引号时,我们可以在sed样式和替换字符串中指定变量; eg: p=patten r=replaced...迭代每一个字符 ${string:start_pos:num_of_chars}:字符串中提取一个字符;(bash文本切片) ${#word}:返回变量word长度 for((i=0;i<${#word

    4.3K20

    萌新不看会后悔C++基本类型总结(二)

    下面的结论需要记住:在C++中将使用这几种类型中能够存储该数最小类型来表示,前提该数后面没有后缀,如果有后缀,则按后缀指定类型来存储,至于浮点数呢,C++规定过只要不加f后缀浮点数默认都为double...// 并且需要注意一点虽然不可以通过这个指针修改变量值,但是可以修改指针所指向变量,也就是说下面合法。...int number_2 = 1; p = &number_2; 就好比我有一台电脑,装xp系统,有一天邻居小姐姐跟我借电脑用一下,但是她觉得xp系统老掉牙了,重装为win10系统,这时就告诉她...一般黑框框显示不了特殊字符,给大家找到一个中文转unicode网站:中文字符与Unicode字符相互转换 当使用\u6211印出便是: ?...当两个运算符优先级一样的话,要使用结合性进行判断: 例如: int a = 10*5/6; //由于/ 和*优先级一样,这时候就应该用结合性判断从左往右算,还是右往左算。 ? ? ?

    72521

    Linux Shell 文本处理工具集锦

    对shell脚本使用原则是命令单行书写,尽量不要超过2行; 如果有更为复杂任务需求,还是考虑python吧; find 文件查找 查找txt和pdf文件 find . \( -name "*.txt...match_patten file // 默认访问匹配行 常用参数 -o 只输出匹配文本行 VS -v 只输出没有匹配文本行 -c 统计文件中包含文本次数 grep -c "text" filename...比如grep,比如find; 将多行输出转化为单行输出 cat file.txt| xargs \n 多行文本间定界符 将单行转化为多行输出 cat single.txt | xargs -n 3.../text/replace_text/g' file 默认替换后,输出替换后内容,如果需要直接替换原文件,使用-i: seg -i 's/text/repalce_text/g' file 移除空白行...}:字符串中提取一个字符;(bash文本切片) ${#word}:返回变量word长度 for((i=0;i<${#word};i++)) do echo ${word:i:1); done Posted

    3.3K70

    生信人自我修养:Linux 命令速查手册(全文引用)

    >, >> - 输入输出重定向 Linux 中常用重定向操作符有: 标准输入(/dev/stdin):代码为 0, 使用<或<< 标准输出(/dev/stdout):代码为 1,使用>(覆盖)或>>(...追加) 标准错误输出(/dev/stderr):代码为 2,使用 2>或 2>> &> 标准输出和错误输出同时重定向 /dev/null 代表垃圾箱,不想要保存东西都可以重定向到这里 输出重定向就是将命令结果重定向到文件.../run.sh &> /dev/null # 丢弃标准输出和标准错误信息 输入重定向将文件作为输入来源,而不是键盘 command < file # 将file内容作为command输入 command...但是很多时候文件 Windows 或 Mac 系统上传到 Linux 服务器上,这可能导致文件格式不兼容,原因不同平台生成文本文件换行符不一样。...,也可以是正则表达式 常用参数 -F value 设置域分隔符,相当于给 FS 内置变量赋值 -v var=value 将变量 value 值赋给程序变量 var,-v 可以多次使用 记录与字段 记录一次读入内容

    3.9K40

    C++初阶】类和对象修炼上

    ps: 访问限定符限制域外面能不能访问,在类里面,只要是共有的,无论成员变量还是成员函数,都可以访问. 5.声明和定义分离 先来看一个问题:下图语法错误原因是什么?...即使成员变量使用了访问限定符public修饰,主函数中_a使用了域作用限定符A限定,但是因为这时候 _a只是一种声明,声明的话就意味着此时并没有开辟空间,因此并不能存放数值1;就好比类只是图纸,不能住人...ps: 声明和定义分离:方便浏览类结构 域作用限定符限定:防止命名冲突 缺省值声明和定义只在声明中写 6.封装 C++三大特性:封装,继承,多态 但是C++并不只是有这几个特性,毕竟四大名著实际上有很多名著...:成员函数并没有存储在每一个实例化出对象中,所以,对象/类大小就只是包括成员变量大小之和,当然要满足"内存对齐规则" 只是包括成员变量的话,其实就是和C语言中struct结构体中内存对齐规则一样...那里我们知道了成员函数存储位置公共代码段,成员函数共享使用: C语言中对于打印数组1和数组2,只需显式传入各自数组名和数组大小即可打印出各自数组.

    68640

    生信人自我修养:Linux 命令速查手册

    >, >> - 输入输出重定向 Linux 中常用重定向操作符有: 标准输入(/dev/stdin):代码为 0, 使用<或<< 标准输出(/dev/stdout):代码为 1,使用>(覆盖)或>>...(追加) 标准错误输出(/dev/stderr):代码为 2,使用 2>或 2>> &> 标准输出和错误输出同时重定向 /dev/null 代表垃圾箱,不想要保存东西都可以重定向到这里 输出重定向就是将命令结果重定向到文件.../run.sh &> /dev/null # 丢弃标准输出和标准错误信息 输入重定向将文件作为输入来源,而不是键盘 command < file # 将file内容作为command输入...但是很多时候文件 Windows 或 Mac 系统上传到 Linux 服务器上,这可能导致文件格式不兼容,原因不同平台生成文本文件换行符不一样。...,也可以是正则表达式 常用参数 -F value 设置域分隔符,相当于给 FS 内置变量赋值 -v var=value 将变量 value 值赋给程序变量 var,-v 可以多次使用 记录与字段 记录一次读入内容

    7.4K22

    编写快速安全Bash脚本建议

    但是,经过今天思考之后,认为明确整理下bash编程语言一些基础知识有用。bash编程语言与我使用其他编程语言有着很大不同。...使用${}引用变量 有时某些变量,内容为file.txt,并且这样使用它: mv $MYVAR $MYVAR__bak # wrong! 这段代码无法工作!...基本上从来没有使用过这样函数(不像我写其他编程语言),从来没有使用过局部变量。 for循环 以下在bash中编写循环方法。 此循环将从1印到10。...你也可以写while循环,但我从来没有这样写过。 有个很酷事情你可以遍历另一个命令输出。seq 1 10 将数字1到10(每行一个)打印,这个for循环只是提取该输出并遍历它。...说到后悔 - 如果你不小心在错误终端启动一个进程,Nelson Elhage 有一个很棒项目叫做reptyr,可以保存你进程并将其移到屏幕会话或者某些其他东西中。

    1.8K80
    领券