C语言 读取 一行 TXT
时间: 2023-07-18 20:43:37 浏览: 52
要在C语言中读取一行TXT文件,你可以使用fgets函数。该函数的语法如下:
```c
char *fgets(char *str, int n, FILE *stream);
```
其中,str是一个字符指针,它指向一个字符数组,用于存储读取的字符串;n是一个整数,表示读取的最大字符数;stream是一个指向文件的指针,表示要读取的文件。
示例代码如下:
```c
#include <stdio.h>
int main() {
FILE *fp;
char str[100];
fp = fopen("file.txt", "r");
if (fp == NULL) {
printf("Failed to open file\n");
return 1;
}
if (fgets(str, 100, fp) != NULL) {
printf("Read line: %s", str);
}
fclose(fp);
return 0;
}
```
在上面的示例中,我们打开了名为file.txt的文件,然后使用fgets函数读取其中的一行字符串。注意,fgets函数会读取文件中的换行符,因此输出时需要手动添加换行符。
相关问题
C语言 读取 一行 TXT 取消 空格
要在C语言中读取一行TXT文件并取消空格,你可以使用fgets函数和字符串处理函数。首先使用fgets函数读取整行字符串,然后使用字符串处理函数去掉字符串中的空格。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp;
char str[100], trimmed_str[100];
fp = fopen("file.txt", "r");
if (fp == NULL) {
printf("Failed to open file\n");
return 1;
}
if (fgets(str, 100, fp) != NULL) {
// 去掉字符串中的空格
int j = 0;
for (int i = 0; i < strlen(str); i++) {
if (str[i] != ' ') {
trimmed_str[j++] = str[i];
}
}
trimmed_str[j] = '\0'; // 字符串结尾必须加上'\0'
printf("Read line: %s\n", str);
printf("Trimmed line: %s\n", trimmed_str);
}
fclose(fp);
return 0;
}
```
在上面的示例中,我们使用了一个循环遍历字符串中的每个字符,如果字符不是空格,则将其添加到一个新的字符串中。最后,我们在新的字符串末尾添加了一个空字符'\0',并输出了原始字符串和去掉空格后的字符串。
c语言读取txt一行
可以使用C语言中的fgets函数读取txt文件的一行。fgets函数的原型为:
```
char *fgets(char *str, int n, FILE *stream);
```
其中,str是一个指向字符数组的指针,用于存放读取的字符串;n是最多读取的字符数,一般为字符数组的长度减一;stream是一个指向文件的指针,用于指定要读取的文件。
示例代码:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("test.txt", "r");
char line[100]; // 假设每行不超过 100 个字符
while (fgets(line, 100, fp) != NULL) {
printf("%s", line);
}
fclose(fp);
return 0;
}
```
其中,假设要读取的txt文件名为test.txt,每一行不超过100个字符,使用while循环和fgets函数逐行读取并输出。注意,最后要记得关闭文件流。