file-handling 相关问题

文件处理是对常见操作的抽象,例如创建,打开,关闭,读取,更新,写入,比较和删除文件

为什么 cin 语句中打印空格时,第 0 个字符没有打印出来?

我正在从文本文件中读取一行并使用 for 循环打印该行中的每个字符。为什么 p 行的第 0 个字符没有被打印? #包括 #包括 我正在从文本文件中读取一行,并使用 for 循环打印该行中的每个字符。为什么 0 行的第 p 个字符没有被打印? #include<iostream> #include<cstring> using namespace std; int main() { const int max_length = 100; // Adjust this based on your text size char line1[max_length]; freopen("input2.txt", "r", stdin); cin.getline(line1, max_length); for (int i = 0; line1[i] != '\0'; i++) cout<<line1[i]<<" "; cout << "\n"; for (int i = 0; line1[i] != '\0'; i++) cout<<line1[i]; cout << "\n"; fclose(stdin); return 0; } 在文件中输入: pqrstuwvx 输出: q r s t u w v x pqrstuwvx 但是,如果我以这种方式编写 cout 语句 cout<<line1[i]; ,它会给出正确的输出。请解释一下原因。 @Deba 在我看来,这个问题与使用 freopen 将标准输入 (stdin) 重定向到文件有关。 当您使用 cin.getline 读取一行时,它会将换行符 ('\n') 留在输入缓冲区中。因此,当您开始使用 for 循环打印字符时,遇到的第一个字符是换行符,这就是为什么您看不到正在打印的 p。 为了解决此问题,我尝试在从文件中读取该行后添加对 cin.ignore 的额外调用。这是修改后的代码: #include<iostream> #include<cstring> using namespace std; int main() { const int max_length = 100; // Adjust this based on your text size char line1[max_length]; freopen("index2.txt", "r", stdin); cin.getline(line1, max_length); // Add this line to consume the newline character cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); for (int i = 0; line1[i] != '\0'; i++) cout << line1[i] << " "; cout << "\n"; for (int i = 0; line1[i] != '\0'; i++) cout << line1[i]; cout << "\n"; fclose(stdin); return 0; } 希望对您的理解有所帮助。

回答 1 投票 0

如何将指针合并到我完成的 C 程序中?

我刚刚完成了今天到期的 2 个 C 程序,但是当我的教授检查我的工作时,他告诉我在其中加入指针。我们还没学过指针,我真的很挣扎......

回答 1 投票 0

简单的 C++ 文件处理程序有问题

我的代码没有按预期工作。当我运行程序并尝试输出 n (在 ABC 行上)时,程序在屏幕上仅显示“New”。为什么程序不读取文件的其余部分?任意

回答 1 投票 0

我在为班级传递位置参数时哪里出错了?

导入系统 进口舒蒂尔 导入压缩文件 从 pathlib 导入路径 类 ZipReplace: def __init__(自身,文件名,搜索字符串,替换字符串): self.文件名 = 文件名 自我。

回答 1 投票 0

用C读取CSV文件并处理数据中的逗号

我写了一段代码来用c读取csv文件。该文件包含游戏数据,我应该读取它并根据分数对其进行排序并打印排名前 10 的游戏。代码如下...

回答 3 投票 0

OSError: [Errno 24] 打开文件太多;在Python中;调试困难

我正在运行代码,有时几小时后有时几分钟后会失败并出现错误 OSError:[Errno 24]打开的文件太多 我在调试这个时遇到了很大的麻烦。错误本身总是三...

回答 1 投票 0

如何打开 Netbeans 源包中的包内的文件?

我对 Java 和 Netbeans 比较陌生。我想要做的是打开“bloodreports.resources”包内的这个 Word 文档文件。 文档的位置 我的原因是...

回答 2 投票 0

使用 bash 读取用户输入并使用该输入更新文件

我需要编写一个bash脚本,它从命令行获取用户名和密码,然后加密密码并使用用户名和加密密码更新文件。假设存在...

回答 1 投票 0

读取文本文件输出错误数据

原问题 我一直在尝试根据自定义字母表对单词列表进行排序: æǽaàbdyýeéfgiíʒklmnŋΩΏoóøǿɤprʃsþðtʊuúʌvɯjz 。该程序正在输出我没有放入的随机废话...

回答 1 投票 0

C 我有一个数据库项目由于错误“zsh:非法硬件指令./main”而尚未运行

/* 数据库逻辑.c */ #包括 #包括 常量 int MAX_STR_LEN = 20; int roomAvailability(int roomChecked) { FILE* 文件可用; 字符文件名[46];

回答 1 投票 0

数据结束时停止s.recv

我有一个Python脚本,本质上是将日志从服务器发送到客户端,但是我不知道日志会有多长。 一旦客户收到日志,我就必须将它们写入 f...

回答 2 投票 0

在asp.net web api中,如何创建下载示例.xlsx文件的功能?

在asp.net web api中,如何创建下载示例.xlsx文件的功能? 我尝试了下面的功能。 公共 HttpResponseMessage 下载ExcelFile() { 字符串文件路径 = 目录...

回答 1 投票 0

检查文本文件中的子字符串时犯的错误是什么?

我正在编写一个Python代码来检查文本文件中的一行是否包含特定的子字符串,如果包含,我将打印它的行号。到目前为止,它已经匹配了正确的行号...

回答 1 投票 0

取消链接功能不适用于相对路径

我有一个网站后端,我在其中使用 Express 框架,并且有一个 Express 公共文件夹,如果用户上传图像,它将存储在公共上传文件夹中。 然后有一个...

回答 1 投票 0

为什么我从 os.open() 得到 int 作为返回值?

我正在使用 json 模块,但每当我使用 json.dump 或 json.load 函数时,我都会收到一条错误消息,指出 int 没有 .write() 或 .read() 函数。这意味着使用 os.o...

回答 1 投票 0

我的Python代码无法运行。输出与预期不同

这是我的代码: INPUT_FILE =“cs521_3_5_input.txt” 以 open("cs521_3_5_input.txt", "r") 作为文件: 数据 = file.readlines() 学生记录列表 = [] 对于我来说...

回答 2 投票 0

如何向上移动文件中的行以填补空白

我正在制作一个程序来存储4组值,这些值存储在4个单独的文件中; ID、名称、数量和价格。现在我对其进行了编码,以便您可以选择一次删除一行,但我遇到了麻烦

回答 1 投票 0

需要将股票的OHLC数据实时写入文件并同时使用另一个代码读取

我正在使用 C# 中的 CsvHelper 库将股票的 OHLC 数据实时写入 csv 文件中。一切工作正常,但是当我打开文件查看数据时,它给了我一个异常状态...

回答 1 投票 0

PermissionError: [WinError 32] 该进程无法访问该文件,因为该文件正在被另一个进程使用

我的代码用于查看文件夹并删除分辨率为 1920x1080 的图像的脚本。我遇到的问题是当我的代码运行时; 导入操作系统 从 PIL 导入图像 同时...

回答 7 投票 0

打开现有文本文件会完全删除其内容

我正在尝试用 C++ 打开一个文本文件(它有内容)。每次我打开时,它最终都会完全删除文件的内容,这是我不想要的。 #包括 #包括 我正在尝试用 C++ 打开一个文本文件(它有内容)。每次我打开时,它最终都会完全删除文件的内容,这是我不想要的。 #include <fstream> #include <iostream> using namespace std; int main() { string filename; cout << "Enter File name : "; cin >> filename; fstream file; file.open(filename, fstream::out); file.close(); return 0; } } 而不是 fstream::out 会丢弃文件中存在的所有内容,您应该使用 fstream::app ,它不会删除文件的内容并从其末尾继续写入。 来自cppreference: |恒定|说明| | -------- | ----------- | |应用程序 |每次写入之前寻找流的末尾| |二进制 |以二进制模式打开 | |在 |开放阅读| |出 |开放写作 | |截断|打开时丢弃流的内容 | |吃了|打开后立即寻找流末尾 | |不替换 (C++23) |以独占模式打开|

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.