晓凹凸曼 2018-12-21 21:46 采纳率: 0%
浏览 2080

怎么用ofstream输出固定长度的字符数组?

#include<iostream>
#include<fstream>
#include <cstring>
using namespace std;
int main(){
    char a[14] ="haha";
    cout<<"char[14]:  "<<sizeof(a)<<"  "<<strlen(a)<<endl;
    ofstream fout;
    fout.open("disk.txt");
    fout<<a;
    fout << "\n";
    fout.close();
    return 0;
} 

我想输出14个字符到文本里去,而不是只有4个,请问怎么实现

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-12-21 14:44
    关注
    #include<iostream>
    #include<fstream>
    #include <cstring>
    void padright(char * s, int n, char c)
    {
    int b = 0;
    for (int i = 0; i < n; i++)
    {
    if (!b && s[i] == '\0') b = 1;
    if (b) s[i] = c;
    }
    s[n] = '\n';
    }
    int main(){
        char a[15] ="haha"; //因为\0也需要一个字节,所以是15
        cout<<"char[14]:  "<<sizeof(a)<<"  "<<strlen(a)<<endl;
        ofstream fout;
        fout.open("disk.txt");
        padright(a, 14, ' '); //结尾用空格填充
        fout<<a;
        fout << "\n";
        fout.close();
        return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类