21xrx.com
2024-12-22 22:24:16 Sunday
登录
文章检索 我的文章 写文章
如何在C ++中将文件中的字符串赋值给字符数组?
2023-06-28 13:53:55 深夜i     --     --
C ++ 文件 字符串 赋值 字符数组

在C++中,将文件中的字符串赋值给字符数组是一项非常常见的任务。这样的任务在很多场合下都是必不可少的,所以学会如何去实现这个任务是非常重要的。下面是如何在C++中将文件中的字符串赋值给字符数组的方法:

1. 使用fstream读取文件

首先,我们需要使用fstream头文件中的ifstream类来读取文件。我们需要创建一个ifstream对象,用来打开文件并读取其中的内容。下面是使用ifstream读取文件的示例代码:


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  ifstream inputFile;

  char charArray[50];

  int i = 0;

  inputFile.open("input.txt"); //打开文件

  if (inputFile) { //文件存在

    while (!inputFile.eof()) { //读取文件中的字符

      char character = inputFile.get();

      charArray[i++] = character;

    }

    charArray[i] = '\0'; //将字符数组末尾赋值为空字符

    inputFile.close(); //关闭文件

  }

  else //文件不存在

    cout << "File does not exist!" << endl;

  

  return 0;

}

2. 使用fgets读取文件

除了使用ifstream外,我们也可以使用C标准库中的fgets函数读取文件。下面是使用fgets读取文件的示例代码:


#include <iostream>

#include <cstdio>

using namespace std;

int main() {

  FILE* inputFile = fopen("input.txt", "r");

  char charArray[50];

  int i = 0;

  if (inputFile) { //文件存在

    while (fgets(charArray + i, 50, inputFile)) { //读取文件中的字符串

      i = strlen(charArray);

    }

    charArray[i] = '\0'; //将字符数组末尾赋值为空字符

    fclose(inputFile); //关闭文件

  }

  else //文件不存在

    cout << "File does not exist!" << endl;

  

  return 0;

}

无论是使用ifstream还是fgets,我们都可以实现在C++中将文件中的字符串赋值给字符数组的操作。这个操作十分简单,但是非常有用,希望大家能够掌握这个知识。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复