C语言如何实现文件分割功能

C语言如何实现文件分割功能,第1张

strcat()是追加字符串的函数。

strcat(char[] a,char []b)即将第二个字符串追加到第一个字符串末尾,第二个字符串值不变,第一个变长。

你的理解是对的 但是使用有误!追加时需要保证第一个字符串在加上第二个之后依旧不能溢出。在此题中,你的a[]字符串长度在追加上".txt"之后,会溢出,建议在定义a的时候写上char a[100]保证不溢出。

文件中一行内容按照空格分割进行读取,可以采用fscanf("%s")来实现

实现过程:

定义二维字符数组,用来接收读到的每个单词

以读方式打开文件

循环读文件,将单词逐个读入数组

循环结束后,关闭文件

输出数组中的单词,以验证

参考代码:

#include <stdio.h>

int main(void)

{

FILE *fp 

int i,j

char words[100][21] //最多读100个单词,每个单词不超过20个字符

fp=fopen("data.txt", "r")

if ( fp==NULL )

{

printf("open file error\n")

return -1

}

for( i=0i<100i++ ) //循环读取,控制不超过100个

{

if ( fscanf(fp, "%20s", words[i] )!= 1 ) //控制每个单词不超过20个

break

}

fclose(fp)

for( j=0j<ij++ ) //反向输出各单词

printf( "%s ", words[j] ) 

printf("\n")

return 0

}

char szBuff[512]  = {0}//前提是要知道每行最长长度

 

fgets(szBuff,sizeof(szBuff),m_pFile)) //m_pFile是打开文件的句柄。

fgets读取一行内容,再加个循环直到文件结尾


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11529118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存