将数据写入文件时丢失第一个字符
First character lost when writing data to file
我遇到了有关文件中数据输入的问题。我正在制作数组,当我按回车键时终止,但问题是 0 索引处的字符不在文件中,而其余索引在那里。换句话说,在写入文件时,我的数组的第一个字符被遗漏了,并且文件中不存在。
我的代码如下:
char CNIC[10000];
std::fstream file1;
cout<<"Enter CNIC's >>>>>>>>>>> "<<endl;
file1.open("Nadra database.txt",std::fstream::in | std::fstream::out | std::fstream::app);
if(!file1)
{
cout<<"File was not open";
}
else
{
for(int i=0;i<11;i++)
{
char ch = getche();
if((int)ch==13)
{
cout<<"Press Enter key to close data entry "<<endl;
break;
}
else
{
for(int i=0;i<11;i++)
{
char character = getche();
if((int)character==13)
{
break;
}
else
{
CNIC[i]=character;
file1<<CNIC[i];
}
}
file1<<endl;
}
}
}
system("pause");
在第一个 else 子句的开头,你没有对 ch 做任何事情。 您需要像在内部循环中一样将其写入文件。 另外,您需要更改内部循环以使用 j 而不是 i...切勿对嵌套循环使用相同的临时。
相关文章:
- 如何忽略第一个字符输入后的所有内容
- 增量生成 - 错误:字符串的第一个字符应'0'或'1'
- 对c++中的输入使用getline函数时忽略第一个字符
- C++如何通过忽略每行的第一个字符来读取 unicode 文件
- 输入文件中的第一个字符是输出文件中的最后一个字符,反之亦然
- 检索字符串的第一个字符,并在C++中按字母顺序进行比较
- 这个RLE解码功能只解码第一个字符,我做错了什么?
- 如何忽略除第一个字符之外的所有字符
- C++ 如何从用户输入中读取第一个字符并忽略 rest(字符类型)
- CIN.IGNORE删除第一个字符的第二次函数被调用
- 使用CTYPES将字符串从Python传递到C - 仅发送第一个字符
- 为什么在使用循环时忽略输入的第一个字符
- 仅将输入的第一个字符用于 char 变量
- getline删除第一个字符;删除cin.ignore();无法解决
- 仅分配第一个字符,将 LPCTSTR 转换为字符*
- 如何获取指向字符数组中第一个字符的常量指针
- 访问没有字符的字符串的第一个字符
- 如何将 char 类型数组传递给函数并将第一个字符数组复制到第二个图表数组并使用 c++ 进行比较
- 文本文件中的第一个字符会导致 .substr() 错误
- RegSetValueEx 仅显示写入第一个字符