在C语言中,可以通过使用fgets函数来读取多行字符串。fgets函数可以一次读取一行字符串,并将其存储到一个字符数组中。 以下是一个示例代码,演示如何使用fgets函数读取多行字符串: #include <stdio.h> #define MAX_LENGTH 1000 int main() { char str[MAX_LENGTH]; FILE *file = fopen("example.txt", "r")...
即读入y, the ge并存储为y, the ge\0;接着fputs()在刚才打印字符串这一行接着打印第2次读入的...
要使用scanf函数在C语言中读取多行字符串,可以使用循环来反复调用scanf函数读取每一行字符串,直到遇到换行符为止。以下是一个示例代码: #include<stdio.h>intmain(){charline[100];inti =0;while(scanf("%[^\n]%*c", line) ==1) {printf("Line %d: %s\n", i+1, line); i++; }return0; } ...
笔主今日去笔试,第一道编程题十分简单,但编译器就是无法通过。原因就出在多行字符串的读取之上。 #include"stdafx.h"#include<stdlib.h>int_tmain(intargc,_TCHAR*argv[]){charc[20];scanf_s("%d",&N);for(inti=0;i<N;i++){scanf_s("%s",c);}system("pause");return0;} 以上代码无法获得正确...
简单,用fgets+循环就可以了。 一般不要用scanf,因为使用不好就不安全; 也尽量不要用gets, 具体参看C-FAQ 7.1。例子如下:include <stdio.h> include <string.h> define BUFF_SIZE 128 int main(int argc, char **argv){ int N = 3;char buffer[N][BUFF_SIZE];char *p;int i;print...
100],t[100]; gets(filename);//读文件名 注意路径如f:\1.txt if((fp=fopen(filename,"r"))==NULL) {printf("Can not open file.\n");exit(0);} fgets(s,100,fp);//读字符串 while(!feof(fp)) { fgets(t,100,fp); if(strlen(t)>strlen(s)) strcpy(s,t);...
while(feof(fp)==0){ fscanf();} feof()可以判读文件指针有没有到达末尾,没到达返回0,可以用这个循环做
feof(p) 应当在读语句后测定,也就是:读,测定,如果不是EOF则输出。你现在的次序是:测定,读,输出,回到测定。所以读到EOF,你重复输出了最后一次成功读入的内容。--- 简单修改:if ( fgets(ch,sizeof(ch),p)==NULL) break;
1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。2、例程:include<stdio.h>#include<string.h>void main(){ char a[100],b[100],c[100]; int i=3,j=4,k=0; //第三行,第四列 FILE *fp = fopen("data.tx...
用双重循环语句,就可以再几行几行地读。例如:include <stdio.h> include <stdlib.h> FILE *fin;main(){ char s[20][200];int i,j;fin=fopen("abc.txt","r"); // 打开文件 for (i=0;i<4;i++) fgets(s[i],200,fin); // 以字符串形式 读4行 for (i=0;i<4;i+...